Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 编辑结束时,DataGridComboxColumn不会在单元格中显示选定项_C#_Wpf_Wpfdatagrid_Datagridcomboboxcolumn - Fatal编程技术网

C# 编辑结束时,DataGridComboxColumn不会在单元格中显示选定项

C# 编辑结束时,DataGridComboxColumn不会在单元格中显示选定项,c#,wpf,wpfdatagrid,datagridcomboboxcolumn,C#,Wpf,Wpfdatagrid,Datagridcomboboxcolumn,当我从DataGridComboBoxColumn中选择一个项目时,我遇到了一个问题。将焦点移动到下一个单元格后,该单元格不会显示我选择的项目的名称。这是我的代码: DataGridComboBoxColumn cb1 = new DataGridComboBoxColumn(); cb1.ItemsSource = listOStrings; cb1.TextBinding = new Binding("listOfStrings"); e.Column = cb1; e.Column.Hea

当我从DataGridComboBoxColumn中选择一个项目时,我遇到了一个问题。将焦点移动到下一个单元格后,该单元格不会显示我选择的项目的名称。这是我的代码:

DataGridComboBoxColumn cb1 = new DataGridComboBoxColumn();
cb1.ItemsSource = listOStrings;
cb1.TextBinding = new Binding("listOfStrings");
e.Column = cb1;
e.Column.Header = "SomeTitle";

其中listOfStrings是用户正在更新的列表。我有另一个DataGridComboxColumn,它的ItemSource设置为未更新的字符串列表。虽然这两个的代码是相同的,但它显示的文本很好。我想知道为什么我的cb1组合框在离开单元格后不会显示值,而另一个会显示值?

我从来没有像您这样绑定过-您考虑过将UI移动到XAML并将数据绑定到ViewModel吗?是一个很棒的关于数据绑定组合框的分步示例。您只需要让组合框也是DataGrid中的一列—类似于。

当WPF中的绑定连接到非静态源时,底层源需要实现iNotifyPropertyChanged。在您的情况下,您可能需要使用如下回答的ObservableCollection:

在您的情况下,它看起来像:

private ObservableCollection<string> _listOStrings = new ObservableCollection<string>();
public ObservableCollection<string> ListOStrings 
{
    get
    {
        return _listOStrings;
    }

    set
    {
        _listOStrings = value;
        OnPropertyChanged("ListOStrings");
    }
}
private observateCollection\u listOStrings=new observateCollection();
公共可观测收集列表
{
得到
{
返回列表;
}
设置
{
_listOStrings=值;
OnPropertyChanged(“ListOStrings”);
}
}
有关从MSDN更改的InotifyProperty的详细信息,请参阅:
请参阅:

谢谢您的回答,在阅读了您发布的Microsoft链接后,我能够使它像一个魔咒一样工作。我没有像我所希望的那样使用XAML,因为我对它有些陌生。虽然你发布的逐步指南帮助我解决了我遇到的另一个问题,这是一个巨大的帮助。谢谢你的回答。没问题-很高兴我能帮忙!另外,如果你想更多地了解XAML,我真的很喜欢视频。从1开始,一路往上爬。祝你好运