【发布时间】:2015-07-05 16:52:03
【问题描述】:
我有一个在 Windows 8.1 pro 平板电脑上运行的 WPF 应用程序。
当我单击应用程序中的按钮时,单击事件会被触发,但按钮并没有失去焦点(它保持与触摸时相同的颜色)。
如果该按钮负责打开另一个窗口,并且在新打开的窗口中的同一位置有一个按钮,则该按钮也会获得“点击\聚焦颜色”。
此外,在某些情况下(这是不一致的),应用程序以显示的按钮开始,就好像它被单击一样。
这就是我试图解决它的方法:
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();
}
如何让按钮返回未点击状态?
【问题讨论】: