首页 > 解决方案 > 在 UWP 中 TextBox 的 LostFocus 事件之前引发 AppBar 按钮单击事件

问题描述

我有一个具有 LostFocus 事件的文本框、一个具有 Click 事件的按钮和一个具有单击事件的 appbarButton。每当我单击非应用栏按钮时,如果焦点在文本框中,它总是在单击事件之前调用 Lostfocus 事件。但。当我通过单击应用栏按钮执行相同操作时,它永远不会允许 Lostfocus 在其单击事件之前运行。我尝试将 LostFocus 作为异步方法,但没有按我想要的方式工作。谁能帮我解决问题?

标签: c#xamluwp

解决方案


AppBarButton在不影响其他控件焦点的情况下点击是一种设计。

如果你想在 中做一些处理TextBox.LostFocus,你可以这样做:

private void AppBarButton_Click(object sender, RoutedEventArgs e)
{
    (sender as AppBarButton).Focus(FocusState.Pointer);
    // do other things...
}

手动将焦点设置为 后AppBarButtonTextBox将失去焦点,您的任务将正常继续。


推荐阅读