【问题标题】:How to disable unselection in datagrid如何在数据网格中禁用取消选择
【发布时间】:2018-11-08 14:32:54
【问题描述】:

我有一个 datagridSelectionMode = "single" ,但是当我按 'ctrl' 并选择 selected 行,它变成了unselected。有一种方法可以禁用“ctrl”命令或使其在按下时不会取消选择选定的行?

我正在使用 WPFMVVM 模式。

我试过了

PreviewMouseLeftButtonDown="DataGrid_PreviewMouseLeftButtonDown"

并像这样处理它但没有用:

private void DataGrid_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {

 e.handled = true;

    }

`

【问题讨论】:

    标签: c# wpf xaml mvvm datagrid


    【解决方案1】:

    answer on here 表明不仅仅是将 Handled 设置为 true。 this 也可能会有所帮助。

    两者结合的结果可能如下所示:

    void DataGridPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        e.Handled = true;
    
        var result = VisualTreeHelper.HitTest(gd, e.GetPosition(gd));
        var row = DependencyObjectHelper.FindAncestor<DataGridRow>(result.VisualHit);
        if (row != null && !row.IsSelected)
            row.IsSelected = true;
    }
    

    我建议您仔细研究现有的问题和答案,并将它们结合起来完成您想做的事情。

    【讨论】:

      猜你喜欢
      • 2016-01-11
      • 2011-06-16
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2021-10-29
      • 2012-11-18
      • 2023-03-17
      相关资源
      最近更新 更多