wpf - 所选项目与所选项目不同步 - WPF DataGrid

标签 wpf data-binding datagrid

SelectedItem 为何为 null,而 SelectedItems 已选择项目?

这是选择更改事件的屏幕截图:

enter image description here

我的数据网格:

 <DataGrid SelectionChanged="CustomCmdDg_SelectionChanged" SelectedItem="{Binding CurrentX,Mode=TwoWay}" DataContext="{Binding MyViewModel}" x:Name="CustomCmdDg"  ItemsSource="{Binding xList}" AutoGenerateColumns="False" GridLinesVisibility="Horizontal">

... 在我的 View 模型中:

xList= 类 x 的列表(可观察集合)

  private x currentX;

    public x CurrentX
    {
        get { return currentX; }
        set
        {
            currentX = null;
            NotifyPropertyChanged("CurrentX");
        }
    }

故意希望所选项目将为空

最佳答案

如果将当前项目设置为 null,则应首先将其从集合中删除,然后它将从所选项目中消失:

Public ObservableCollection<x> xList

public x CurrentX
{
    get { return currentX; }
    set
    {
        xList.Remove(currentX)
        currentX = null;
        NotifyPropertyChanged("CurrentX");
    }
}

您的可观察列表将自行更新

如果您需要能够操作 SelectedItems 集合,您还必须提供绑定(bind)并执行所需的代码

关于wpf - 所选项目与所选项目不同步 - WPF DataGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14849329/

相关文章:

水平排列其项目的 WPF ListBox

WPF:带按钮的动态菜单

c# - 私有(private) WPF 依赖属性

java - 检查 SWT/Jface 中数据绑定(bind)的值

android - 是否可以将一个 ObservableField 绑定(bind)到另一个?

c# - DataGrid 按钮,树上的命令绑定(bind)相对源不起作用

sql - 我应该使用什么数据库来部署 WPF 应用程序?

silverlight - ItemSource 更改时在 TreeView 中展开 Root

c# - Caliburn Micro 将 DataGrid 作为参数传递问题

java - Java Struts Web 应用程序中的 DataGrid