首页 > 解决方案 > 我不想在 Expander Header 边缘看到虚线

问题描述

1-创建wpf应用程序。

2-将三个 WPF 窗口作为Window1Window2Window3添加到项目中

3- 将以下 xaml 代码复制并粘贴到MainWindow中。

<Grid>
    <Expander VerticalAlignment="Bottom" HorizontalAlignment="Left" ExpandDirection="Up" Background="Gold" >
        <Expander.Header>
            <TextBlock Text="Menu"/>
        </Expander.Header>
        <StackPanel Width="180">
            <Button x:Name="Button1" Height="25" Content="Button1"/>
            <Button x:Name="Button2" Height="25" Content="Button2"/>
            <Button x:Name="Button3" Height="25" Content="Button3"/>
        </StackPanel>
    </Expander>
</Grid>
</Window>

4- 将以下vb.net代码复制并粘贴到后面的MainWindow代码中。

Class MainWindow 
Private Sub MainWindow_KeyDown(sender As System.Object, e As System.Windows.Input.KeyEventArgs) Handles MyBase.KeyDown
    If e.Key = Key.F1 Then
        Dim myWindow1 As New Window1()
        myWindow1.Show()
    End If

    If e.Key = Key.F2 Then
        Dim myWindow2 As New Window2()
        myWindow2.Show()
    End If

    If e.Key = Key.F3 Then
        Dim myWindow3 As New Window3()
        myWindow3.Show()
    End If
End Sub
End Class

C#代码在这里

    public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Window_KeyDown(object sender, KeyEventArgs e)
    {
        if ((e.Key == Key.F1))
        {
            Window1 myWindow1 = new Window1();
            myWindow1.Show();
        }

        if ((e.Key == Key.F2))
        {
            Window2 myWindow2 = new Window2();
            myWindow2.Show();
        }

        if ((e.Key == Key.F3))
        {
            Window3 myWindow3 = new Window3();
            myWindow3.Show();
        }

    }
}

5- 运行此项目,然后展开Expander,然后 F2,然后关闭 Window2

我的问题:

我不想在Expander Header 边缘看到虚线,如您在此处看到的:https ://prnt.sc/m2oi2n

注意:我尝试了以下代码,但它们不起作用。

IsTabStop="False" Focusable="False" FocusVisualStyle="{x:Null}"

标签: c#wpfvb.netxaml

解决方案


您看到的虚线矩形由扩展器默认控件模板中 ToggleButton 上的 FocusVisualStyle 定义。您可以通过右键单击控件 (Visual Studio 2017) 并选择 Edit Template > Edit Copy 来克隆和编辑控件模板。然后更改 ExpanderHeaderFocusVisual 样式。


推荐阅读