gpt4 book ai didi

c# - 无法正确绑定(bind) DataGrid 和 ObservableCollection

转载 作者:行者123 更新时间:2023-12-03 10:45:56 24 4
gpt4 key购买 nike

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

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

    mainWindow_myDataGrid.ItemsSource = dbData

  • (mainWindow_myDataGrid 是 XAML DataGrid , dbData 是 ObservableCollection 属性)
    它起作用了,我不知道为什么。
  • 当我通过代码 (mainWindow_myDataGrid.ItemsSource = dbData) 进行绑定(bind)时
    .我没有使用 DataGridTextColumn查看 XAML 文件,我看到了其中的数据。但是当我确实使用它时,它崩溃并显示错误

  • "error when adding a row",



    然后我又不知道为什么。

    我首先尝试在自己身上找到答案,当然没有成功。如果有人可以向我清除这些要点,那就太好了!

    最佳答案

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

    当你想使用绑定(bind)时,你需要一个公共(public)属性

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

    填充您的集合并使用您的集合将 DataContext 设置为对象( View 模型)。在 XAML 中创建绑定(bind)
     <DataGrid ItemsSource="{Binding MyCollection}" />

    就这样。

    如果这不起作用,那么大多数时候 DataContext 不正确或绑定(bind)表达式错误。您可以在运行时使用 Snoop 进行检查

    关于c# - 无法正确绑定(bind) DataGrid 和 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26155804/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com