我有以下代码:
<Page.BottomAppBar>
<AppBar x:Name="MyAppBar" Height="32" IsOpen="True" Opened="MyAppBar_Opened">
<TextBox x:Name="SearchBar" Grid.Row="2" KeyDown="SearchBar_KeyDown"/>
</AppBar>
</Page.BottomAppBar>
问题是它在应用程序打开时没有焦点,当我右键单击两次以关闭并再次打开它时它也没有焦点。
我目前在MyAppBar_Opened
和OnNavigatedTo
中都有以下代码:
if (MyAppBar == null)
return;
MyAppBar.Focus(Windows.UI.Xaml.FocusState.Keyboard);
if (SearchBar == null)
return;
SearchBar.Focus(Windows.UI.Xaml.FocusState.Keyboard);
但这似乎没有任何效果,其他枚举值如Mouse
或Programmatic
也不起作用。我做错了什么导致没有激活?
我知道之前曾经使用过的替代方案,但Metro FocusManager没有SetFocusedElement吗?