可以';无法正确绑定DataGrid和ObservableCollection
本文关键字:绑定 DataGrid ObservableCollection 可以 | 更新日期: 2023-09-27 18:25:22
刚开始使用WPF,我正试图使用数据网格和ObservableCollection来绑定它们之间的数据,我得到了一些关于这个主题的问题:
-
我将XAML文件上的ItemsSource绑定到cs-ObsObservableCollection属性,当我通过XAML进行绑定时,我没有看到任何数据显示在DataGrid中,但当我这样做时:
mainWindow_myDataGrid.ItemsSource=dbData
(mainWindow_myDataGrid是XAML DataGrid,dbData是ObservableCollection属性)它起作用了,我不知道为什么。
- 当我通过代码
(mainWindow_myDataGrid.ItemsSource = dbData)
进行绑定时。我没有在XAML文件中使用DataGridTextColumn
视图,我看到了其中的数据。但当我使用它时,它崩溃了,错误显示
"添加行时出错",
再说一遍,我也不知道为什么。
我第一次尝试在自己身上寻找答案,当然没有成功。如果有人能向我澄清这些观点,那就太好了!
如果您有这样的代码:mainWindow_myDataGrid.ItemsSource=dbData,那么您就不需要任何类型的绑定。您只需将项设置为source。你没有发布足够的代码,但我会给你一个的例子
当你想使用绑定时,你需要一个公共属性
public OberservableCollection<YourDataType> MyCollection {get;set;}
填充集合,并将DataContext设置为具有集合的对象(视图模型)。在XAML 中创建绑定
<DataGrid ItemsSource="{Binding MyCollection}" />
仅此而已。
如果这不起作用,那么大多数时候DataContext是不对的,或者Binding表达式是错误的。您可以在运行时使用Snoop 检查这一点