C# 我使用了错误的数据网格吗?

C# 我使用了错误的数据网格吗?,c#,wpf,C#,Wpf,我在WPF中有一个程序,我在数据网格中加载了一堆数据 Datagrid xaml: 然后我向Datagrid添加一个Combobox列 代码: DataTable=newdatatable(); DataGridComboxColumn dgvCmb=新DataGridComboxColumn(); dgvCmb.ItemsSource=新列表 { “Ghanashyam”, “吉涅什”, “伊什弗”, “阿南” }; dataGrid.Columns.Add(dgvCmb); 这些值是测

我在WPF中有一个程序,我在数据网格中加载了一堆数据

Datagrid xaml:


然后我向Datagrid添加一个Combobox列

代码:

DataTable=newdatatable();
DataGridComboxColumn dgvCmb=新DataGridComboxColumn();
dgvCmb.ItemsSource=新列表
{
“Ghanashyam”,
“吉涅什”,
“伊什弗”,
“阿南”
};
dataGrid.Columns.Add(dgvCmb);
这些值是测试的临时值,稍后将进行更改

其思想是,用户根据该行中的其他数据(我当前的测试集为810行)在组合框中选择一些内容

我遇到的问题是,每当我在组合框中选择某个内容并更改行时,所选数据就会从前一行中删除

所以很自然地,我认为我需要自己处理这件事。在互联网上搜索了一下后,我发现:

但是,当我尝试实现此功能时,我发现我的Datagrid无法识别该事件

我检查过,很明显,有两个名称空间包含Datagrid对象:

system.windows.forms.datagrid

system.windows.controls.datagrid

我用错了吗?因为在VisualStudio的工具箱中,我只看到一个Datagrid


如果这种情况可以得到更好的处理,我们将非常感谢您的建议。

您应该使用
SelectedItemBinding
将所选值存储在
组合框中的
数据表的一列中:

DataTable table = new DataTable();
table.Columns.Add(new DataColumn("SelectedValue"));

DataGridComboBoxColumn dgvCmb = new DataGridComboBoxColumn();
dgvCmb.SelectedItemBinding = new Binding("SelectedValue");
dgvCmb.ItemsSource = new List<string>
{
    "Ghanashyam",
    "Jignesh",
    "Ishver",
    "Anand"
};
dataGrid.Columns.Add(dgvCmb);
DataTable=newdatatable();
table.Columns.Add(新数据列(“SelectedValue”);
DataGridComboxColumn dgvCmb=新DataGridComboxColumn();
dgvCmb.SelectedItemBinding=新绑定(“SelectedValue”);
dgvCmb.ItemsSource=新列表
{
“Ghanashyam”,
“吉涅什”,
“伊什弗”,
“阿南”
};
dataGrid.Columns.Add(dgvCmb);

System.Windows.Controls
是WPF,
System.Windows.Forms
是WinForms。两种不同的框架。