我有一个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/

10-10 09:55