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

时间:2013-02-13 08:30:01

标签: wpf data-binding datagrid

如果SelectedItem为空且SelectedItems选择了某个项目,该怎么办?

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

enter image description here

我的DataGrid:

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

... 在我的ViewModel中:

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

  private x currentX;

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

有意希望所选项目为空

1 个答案:

答案 0 :(得分:1)

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

Public ObservableCollection<x> xList

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

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

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