【发布时间】:2013-01-21 00:04:06
【问题描述】:
我正在使用 C# 并针对 .Net 4.0 编写 WPF 程序。我正在尝试遵循 MVVM 模式,其中我的视图(代码隐藏)具有最少甚至没有代码。
我有一个List<MyRecord>,我想使用DataGrid 在GUI 中显示它。在我的 XAML 中,我有以下内容:
<DataGrid x:Name="RecordGrid" ...>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding RecId}" Header="Record ID"/>
<DataGridTextColumn Binding="{Binding Name}" Header="Name"/>
</DataGrid.Columns>
</DataGrid>
剩下的就是将此网格绑定到数据集合。
当我将它绑定到代码隐藏文件中时,它可以正常工作:
RecordGrid.ItemsSource = MyRecordList;
但是,我更愿意在 XAML 中以声明方式绑定它。所以我尝试了这个:
<DataGrid x:Name="RecordGrid" ItemsSource="{Binding MyRecordList}" ...>
但它默默地不起作用。加载数据网格时没有 XAML 绑定错误消息。我在 MyRecordList 的 get 方法上设置了一个断点,只要 ItemsSource 以声明方式定义,它就不会被调用。
如何让我的数据网格通过 XAML 从MyRecordList 中提取?
【问题讨论】:
-
你知道你的DataContext是什么吗?
-
@default.kramer,我没有设置或更改我的 DataContext。我的整个测试程序由一个 Application 和 MainWindow 组成。
标签: .net xaml mvvm wpfdatagrid