在WPF Datagrid中SelectionChanged和SelectedCellsChanged之间会发生什么

时间:2014-12-03 12:22:19

标签: c# wpf datagrid

我有一个Datagrid,其中包含一些行,当用户选择一行时,我想选择相应的行。当我在SelectionChanged-Event中执行此操作时,行被选中(dataGrid.SelectedItems已正确设置),但这不会显示在GUI中(仅选择行标题 - 而不是行)。

如果我在SelectedCellsChanged-Event中选择其他行,则一切都按预期工作。有谁知道,两者之间发生了什么?或者更好:这样做的正确方法是什么?

以下是一些要重现的代码(BTW:使用.Net 4.5.1):

    <DataGrid SelectionChanged="DataGrid_SelectionChanged" Name="myDatagrid"
              ItemsSource="{Binding}" SelectedCellsChanged="myDatagrid_SelectedCellsChanged"/>

    private void DataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        // Does not display correctly
        // myDatagrid.SelectedItems.Add(somerow)
    }

    private void myDatagrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
    {
        // Does display correctly
        // myDatagrid.SelectedItems.Add(somerow)
    }

0 个答案:

没有答案