我的控件使用 WPF DataGrid。如果您单击左上角的空标题,它会选择所有行。这是 DataGrid 的标准部分,不是我添加的任何内容。
但是,我的用户遇到了麻烦,因为这个“按钮”没有聚焦 DataGrid。我该如何解决这个问题?
System.Windows.Controls.DataGrid
编辑:这是我正在谈论的 DataGrid 按钮的 Excel 模拟。它不是真正的按钮,而是某种标题:
最佳答案
如果您查看 Snoop你可以注意到这个按钮。
所以你可以为这个按钮编写事件处理程序到 Click
事件,在这个处理程序中你可以聚焦网格。
private void myGrid_Loaded(object sender, RoutedEventArgs e)
{
DataGrid dg = sender as DataGrid;
Border border = VisualTreeHelper.GetChild(dg, 0) as Border;
ScrollViewer scrollViewer = VisualTreeHelper.GetChild(border, 0) as ScrollViewer;
Grid grid = VisualTreeHelper.GetChild(scrollViewer, 0) as Grid;
Button button = VisualTreeHelper.GetChild(grid, 0) as Button;
if (button != null && button.Command != null && button.Command == DataGrid.SelectAllCommand)
{
button.Click += new RoutedEventHandler(button_Click);
}
}
void button_Click(object sender, RoutedEventArgs e)
{
myGrid.Focus();
}
关于c# - WPF DataGrid 左上角选择所有标题按钮不聚焦网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506174/