我有一个WPF窗口,其中添加了一个按钮。我希望在应用程序启动时(基本上是在激活窗口时),按钮的键盘焦点应带有虚线边框。通常,使用Tab键浏览控件时,我们会看到虚线边框。
我尝试了以下代码,但我仍然认为我缺少一些东西。
XAML
<Window x:Class="PropertyChangedTest.TestPropertyChangedWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" Activated="Window_Activated">
<StackPanel Name="justPanel">
<Button Content="Hello" x:Name="Btn" Height="23" Width="52" Focusable="True" IsDefault="True" Click="Btn_Click"></Button>
</StackPanel>
</Window>
.cs文件
private void Window_Activated(object sender, EventArgs e)
{
if (!bActivatedOnce)
{
bool bVisible = Btn.IsVisible;
UIElement elementWithFo = Keyboard.Focus(Btn) as UIElement;
bActivatedOnce = true;
}
}
该按钮具有键盘焦点,但周围没有虚线边框。当我按Alt键时,按钮周围会出现虚线边框。
最佳答案
此问题与this完全相同。请在那里查看我的答案。
问题在于,仅当您通过键盘导航时才会出现虚线边框。
关于wpf - WPF按钮可在启动或激活窗口期间使键盘焦点(周围的虚线边框),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5468419/