全选的事件:WPF Datagrid

Pri*_*kar 8 c# wpf wpfdatagrid

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

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

如果您需要有关此问题的任何其他信息,请与我们联系.

此致,Priyank

Phi*_*hil 14

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

<DataGrid x:Name="dataGrid" .../>
    <DataGrid.CommandBindings>
        <CommandBinding Command="ApplicationCommands.SelectAll" Executed="SelectAll_Executed"/>
    </DataGrid.CommandBindings>
Run Code Online (Sandbox Code Playgroud)

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

public MyControl(){
    InitializeComponent();
    ...
    dataGrid.CommandBindings.Add(new CommandBinding(ApplicationCommands.SelectAll, SelectAll_Executed));
}
Run Code Online (Sandbox Code Playgroud)

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

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