我正在使用 Windows 8、VS2012、C# 和 XAML 创建这个测试 Metro 应用程序。在应用程序页面中有不同TextBox
的排列方式StackPanel
。启动应用程序时,焦点位于第一个TextBox
.
我想知道如何“停用”它。
这是一张图片,您可以看到第一个字段已聚焦(颜色已更改并显示工具提示)。
我正在使用 Windows 8、VS2012、C# 和 XAML 创建这个测试 Metro 应用程序。在应用程序页面中有不同TextBox
的排列方式StackPanel
。启动应用程序时,焦点位于第一个TextBox
.
我想知道如何“停用”它。
这是一张图片,您可以看到第一个字段已聚焦(颜色已更改并显示工具提示)。
加载 UI 后,您可以TextBox
通过将Programmatic焦点状态应用于任何其他控件来移除焦点。
假设您有一个Button
名为 myButton。你可以:
myButton.Focus(FocusState.Programmatic);
但是,您不能使用FocusState.Unfocused
状态从 TextBlock 中移除焦点,因为它是不允许的并且会引发异常。
一个简单的解决方法是先用IsTabStop="True"
0放置一些东西来捕捉它,Opacity
这有点 hacky 但我知道的唯一方法。所以像;
<TextBox IsTabStop="True" Opacity="0" Height="1" Width="1"/>
<!-- Then the rest of your content like your other TextBox stuff -->