按钮不会失去焦点

时间:2015-04-27 09:46:52

标签: c# wpf windows-8 tablet

我在Windows 8.1专业平板电脑上运行WPF应用程序 当我点击应用程序中的一个按钮时,click事件会被触发,但按钮没有失去焦点(它保持与触摸时颜色相同)。
如果按钮是打开另一个窗口的按钮,并且在新打开的窗口中的同一位置上有一个按钮,则该按钮也会得到“点击\聚焦颜色”#34;。
此外,在某些情况下(这是不一致的),应用程序从显示的按钮开始,就像单击它一样。 这就是我试图解决的问题:

    private void btnLogin_GotFocus(object sender, RoutedEventArgs e)
    {
        //remove focus from button
        var scope = FocusManager.GetFocusScope(btnLogin);
        FocusManager.SetFocusedElement(scope, null);
        Keyboard.ClearFocus();
        btnLogin.ReleaseAllTouchCaptures();

        //set focus to another element
        txtName.Focus();
        window_MouseDown(null, null);
    }

    private void window_MouseDown(object sender, MouseButtonEventArgs e)
    {
        window.Focus();
    }

如何让按钮返回到未单击的状态?

2 个答案:

答案 0 :(得分:1)

我不确定确切的语法,但是在window_MouseDown过程中将isFocused属性设置为false的行可能是解决方案的起点.......

我希望这在某种程度上有所帮助,如果没有,道歉并祝你好运。

答案 1 :(得分:0)

使用按钮Click event代替Mouse Down Event