无法正确绑定DataGrid和ObservableCollection

时间:2014-10-02 07:00:02

标签: c# wpf xaml mvvm datagrid

刚刚开始使用WPF,我正在尝试使用数据网格和ObservableCollection来绑定它们之间的数据,我得到了一些关于该主题的问题:

  1. 我将XAML文件上的ItemsSource绑定到cs ObservableCollection属性,当我通过XAML执行它时,我没有看到DataGrid中显示的任何数据,但是当我这样做时:

    mainWindow_myDataGrid.ItemsSource = dbData

  2. (mainWindow_myDataGrid是XAML DataGrid,dbData是ObservableCollection属性) 它工作,我不知道为什么。

    1. 当我通过代码(mainWindow_myDataGrid.ItemsSource = dbData)进行绑定时 。我没有在XAML文件中使用DataGridTextColumn视图,我看到了其中的数据。但是,当我使用它时,它崩溃了一个错误,说
    2.   

      “添加行时出错”,

      然后我再也不知道为什么。

      我首先试图找到自己的答案但当然没有成功。如果有人能够清除那些对我来说很棒的话!

1 个答案:

答案 0 :(得分:1)

如果你有这样的代码:mainWindow_myDataGrid.ItemsSource = dbData那么你没有任何类型的绑定。你只需设置itemssource。你没有发布足够的代码,但我会给你一个例子

当你想使用绑定时,你需要一个公共财产

  public OberservableCollection<YourDataType> MyCollection {get;set;}

填充您的集合,并使用您的Collection将DataContext设置为对象(viewmodel)。在XAML中创建绑定

 <DataGrid ItemsSource="{Binding MyCollection}" />

这就是全部。

如果这不起作用,则大多数时候DataContext不正确或绑定表达式错误。您可以在运行时使用Snoop

进行检查