gpt4 book ai didi

c# - 单击另一个DataGrid时如何失去对DataGrid的关注?

转载 作者:行者123 更新时间:2023-12-03 10:14:53 25 4
gpt4 key购买 nike

我使用的是MVVM WPF,当我单击另一个DataGrid时,我需要失去焦点,因此在一个DataGrid中仅选择了一行。
This is my recent state
或者,如果有可能,当我在DataGrids之外单击时会失去焦点?但是,当我想单击DataGrid中选定行的编辑按钮时,它也会失去焦点吗?

protected override void OnLostFocus(System.Windows.RoutedEventArgs e)
{
base.OnLostFocus(e);
this.SelectedItems.Clear();
this.SelectedItem = null;
}
这是我的OnLostFocus,但我不知道如何在xaml中捕捉点击
(我真的是xaml的新手)
更新:我可以使用样式触发器以某种方式将焦点从一个DataGrid集中到另一个吗?

最佳答案

我在后面的代码中修复了它。这就像一个魅力! (使用MouseDown效果不好,我不知道为什么)

 public override void OnApplyTemplate()
{
base.OnApplyTemplate();

dataGrid = GetTemplateChild("dataGrid") as DataGrid;
dataGrid.MouseUp += new MouseButtonEventHandler(dataGrid_MouseUp);
docGrid = GetTemplateChild("docGrid") as DataGrid;
docGrid.MouseUp += new MouseButtonEventHandler(docGrid_MouseUp);
}

public void dataGrid_MouseUp(object sender, MouseEventArgs e)
{
docGrid.UnselectAll();
}

public void docGrid_MouseUp(object sender, MouseEventArgs e)
{
dataGrid.UnselectAll();
}

关于c# - 单击另一个DataGrid时如何失去对DataGrid的关注?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32742300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com