c# - 全选事件 : WPF Datagrid

标签 c# wpf wpfdatagrid

我正在使用 WPF 数据网格。在数据网格中,用户有列标题和行标题。

当列标题和行标题都可见时,在左上角我们有一个小方形部分可用。 (左上角的横截面,列标题和行标题相交的地方。)当我们单击它时,它会选择数据网格中的所有单元格。有什么事件吗?如果不是怎么能陷阱那个事件。请指导我。

如果您需要有关此问题的任何其他信息,请告诉我。

问候, 普里扬克

最佳答案

数据网格处理路由命令 ApplicationCommand.SelectAll,因此如果网格具有焦点并且您按下 Ctrl-A,或者您单击角落按钮,所有单元格都会被选中。 您可以通过在 xaml 中添加 CommandBinding 来自己处理此命令:

<DataGrid x:Name="dataGrid" .../>
    <DataGrid.CommandBindings>
        <CommandBinding Command="ApplicationCommands.SelectAll" Executed="SelectAll_Executed"/>
    </DataGrid.CommandBindings>

或者您可以在代码中添加命令绑定(bind):

public MyControl(){
    InitializeComponent();
    ...
    dataGrid.CommandBindings.Add(new CommandBinding(ApplicationCommands.SelectAll, SelectAll_Executed));
}

但是,路由命令只能有一个处理程序,因此默认情况下添加此处理程序将阻止全选在数据网格中工作。 因此,在您的处理程序中,您需要调用 SelectAll。

private void SelectAll_Executed(object sender, ExecutedRoutedEventArgs e)
{
    Debug.WriteLine("Executed");
    dataGrid.SelectAll();
}

关于c# - 全选事件 : WPF Datagrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9497537/

相关文章:

C# WinForms 自定义控件默认属性

c# - inproc 和 outproc 的区别

wpf - 指定具有文本和绑定(bind)路径混合的按钮内容

wpf - 将组合框选定的值绑定(bind)到属性

c# - 等效于 WPF .NET 5、.NET 6 或 .Net Core 中的 UserSettings/ApplicationSettings

c# - EntityFramework ComplexType 引用 EntityType

c# - DataGrid 中的 TextWrapping

c# - 更新绑定(bind)到它的 ObservableCollection 后,DataGrid 不会更新

c# - 如何在 dataGrid 中将 XML 中的数据排序为数字

c# - 许多 WebReferences 使用相同的类