繁体   English   中英

如何触发TreeView LostFocus事件

[英]How to trigger TreeView LostFocus event

我有一个像这样的TreeView:

        <TreeView LostFocus="treeView_LostFocus">
            <TreeViewItem Selected="treeViewItem_select"/>
        </TreeView>

它总是触发事件treeView_LostFocus第一,当我使用树型视图中选择不同的项目treeViewItem_select 如何仅在TreeView失去焦点treeViewItem_select不是在触发treeViewItem_select之前触发失去焦点事件?

ps:在treeViewItem_select的末尾使e.Handle = true似乎不起作用。

一种解决方案是检查KeyboardFocus是否仍在TreeView中。

private void treeView_LostFocus(object sender, RoutedEventArgs e)
{
    var tv = sender as TreeView;

    if (tv.IsKeyboardFocusWithin == false)
    {
        //Your code
    }
}

这样,当您的子项获得焦点时,您的代码将不会执行。 仅当整个TreeView失去焦点时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM