将WPF Datagrid列设置为Combobox的项源

4

我有一个下拉框,希望其中的选项是位于数据网格上的列数据。有没有办法将下拉框的项目源设置为数据网格的特定列?

目前,我正在迭代数据网格的每一行,获取字段数据并将其添加到下拉框中,但这意味着我必须清除所有项目并在每次修改数据网格时重新迭代。

2个回答

2
您可以设置ItemsSource和DisplayMemberPath属性:
        comboBox1.ItemsSource = dataGrid1.ItemsSource;
        comboBox1.DisplayMemberPath = "ColumnName";

0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接