2

怎么可能SelectedItem是 null 并SelectedItems选择了一个项目?

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

在此处输入图像描述

我的数据网格:

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

...在我的视图模型中:

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

  private x currentX;

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

故意希望所选项目为空

4

1 回答 1

2

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

Public ObservableCollection<x> xList

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

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

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

于 2013-02-13T09:14:18.300 回答