XAML .NET MAUI社区工具包,Mvvm:如何绑定对象而不是字符串

vnzz0bqm  于 2023-01-18  发布在  .NET
关注(0)|答案(1)|浏览(150)

我已经使用Communitytoolkit.Mvvm完成了从.NET MAUI官方教程到第5步的项目:text
现在,我想绑定一个简单的对象(称为ItemGroup),它有两个成员(bool isChecked和string name),而不是只绑定一个Text(这是一个可以从任何地方访问的标准类型)。
如何做到这一点?对于全局访问,我在MainView文件夹中创建了一个名为ItemGroup的类。这个类是不可访问的,我不知道如何做到这一点。我在MainPage.xaml中更改了代码,如下所示:

<CollectionView ItemsSource="{Binding Items}"
                                Grid.Row="1">
                    <CollectionView.ItemTemplate>
                        <DataTemplate x:DataType="{x:Type x:ViewModel.ItemGroup}">
                            <Grid >
                                <CheckBox IsChecked="{Binding ItemGroup.IsChecked}" Grid.Column="0"/>
                                <Label Text="{Binding ItemGroup.name}"  Padding="10" Grid.Column="1"                                                                  
                                    BackgroundColor="LightGray"/>
                            </Grid>
                        </DataTemplate>
                    </CollectionView.ItemTemplate>
                </CollectionView>

另请参见ViewModel文件夹中包含ItemGroup类的项目结构以及错误消息:

其中内容页面声明如下:

备注:主视图模型如下所示:

  • 我应该声明一些用法或名称空间吗?
  • 在项目中,我应该把要绑定的对象的类放在哪里?

先谢了托马斯
还尝试在MainViewModel.cs中实现类ItemGroup,但之后我在访问该类时遇到了更多问题。

cu6pst1q

cu6pst1q1#

试试这个

<Label Text="{Binding name}" …

请注意,name必须是公共属性

相关问题