【问题标题】:Set WPF Datagrid column as a Combobox itemsource将 WPF Datagrid 列设置为 Combobox itemssource
【发布时间】:2011-09-01 11:24:15
【问题描述】:

我有一个组合框,我希望它的项目是位于 DataGrid 上的列数据。无论如何将 Combobox itemsource 设置为 DataGrid 的特定列?

现在我正在迭代 DataGrid 的每一行,获取字段的数据并将它们添加到 Combobox,但这意味着我必须清除所有项目并在每次修改 DataGrid 时重复。

【问题讨论】:

    标签: c# wpf datagrid combobox


    【解决方案1】:

    您可以设置 ItemsSource 和 DisplayMemberPath 属性:

            comboBox1.ItemsSource = dataGrid1.ItemsSource;
            comboBox1.DisplayMemberPath = "ColumnName";
    

    【讨论】:

    • @Alex-Aza 谢谢,这正是我所需要的。
    【解决方案2】:

    我认为您采取了错误的方法。您的数据网格必须绑定到对象集合。我想您可以通过提取所需字段(例如使用 linQ)来构建另一个集合,并将这个新集合公开给您的视图,以便您可以绑定您的组合框。

    如果您想保持第二个集合的更新,请将您的第一个主集合设为 ObservableCollection,这样您就可以订阅 CollectionChanged 事件。在事件处理程序中,只需管理组合框源集合中的添加和删除。

    【讨论】:

      猜你喜欢
      • 2011-08-23
      • 2013-06-30
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 2023-04-01
      • 2011-04-22
      • 2014-05-30
      相关资源
      最近更新 更多