WPF DataGrid隐藏RowDetails或取消选择行

我有一个DataGrid的RowDetails设置为显示选择(RowDetailsVisibilityMode =“VisibleWhenSelected”).现在我想要摆脱它!我用这个代码在行详细信息上放了一个关闭按钮:

private void Button_Click(object sender, RoutedEventArgs e)
  {
   e.Handled = true;
   Button button = sender as Button;
   DataGridRow row = button.FindAncestor<DataGridRow>();

   row.DetailsVisibility = Visibility.Collapsed;
  }

该代码让我有90%的位置,但是一旦给定行的行详细信息被折叠,则在下一次选择该行时不会出现.

我也遇到了这是一个解决方案:

将该按钮保留在RowDetails中,然后更改其代码.将DataGrid的SelectedIndex属性设置为-1(未选择),而不是专注于单个行的可见性.

DataGrid1.SelectedIndex = -1;

由于您的RowDetailsVisibilityMode是VisibleWhenSelected,DataGrid将折叠/隐藏任何扩展的RowDetails.当SelectionMode为Single时,此功能很好.

翻译自:https://stackoverflow.com/questions/2466555/wpf-datagrid-hide-rowdetails-or-unselect-row

转载注明原文:WPF DataGrid隐藏RowDetails或取消选择行