我正在使用 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/