微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TabControl选项卡更改后,WPF设置焦点失败

如何解决TabControl选项卡更改后,WPF设置焦点失败

当我在标签之间切换时,我将焦点放在该标签的第一个字段上。

    private void TabControl_SelectionChanged(object sender,SelectionChangedEventArgs e)
    {
         if (Add.IsSelected) {
             UpdateLayout();
             AddItemNumber.Focus();
         }
         ..more code like this for other tabs
    }

这有效。除了一种情况。我有一些代码在某些情况下会自动触发跳转到“查看”选项卡(与“添加”选项卡不同的选项卡)。我可以通过以下任一代码触发跳转

                MyTabControl.Selectedindex = 0;
                MyTabControl.SelectedItem = View;
                Add.IsSelected = true;

或此代码

dispatcher.BeginInvoke((Action)(() => MyTabControl.Selectedindex = 0));

无论哪种情况,只要我单击任何选项卡,自动跳转运行后,焦点便不再起作用。似乎运行基于代码的选项卡更改会破坏将焦点设置在任何选项卡中任何组件上的能力。有趣的是,如果我单击任何可修复该问题的选项卡中的字段,此后,当我单击选项卡时,焦点将再次开始工作。我很困惑。对正在发生的事情以及如何做有什么想法?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。