如何在 WPF C# 中按下按钮时隐藏网格线?

问题描述 投票:0回答:1

我一直在从事一些项目,但我似乎找不到一种方法来隐藏按下下图所示的按钮时出现的网格线

enter image description here

有没有办法隐藏网格线?我不希望用户在按下应用程序中的按钮时看到网格线。

这是我的按钮 xaml 代码的示例:

<Button Style="{DynamicResource HeaderButtonStyle}" Grid.Column="0" Background="Transparent" Width="Auto" BorderBrush="Transparent" Click="MinButton_Click">
        <StackPanel Orientation="Horizontal">
           <Image RenderOptions.BitmapScalingMode="HighQuality" Source="/Resources/icons8-minimize-window-100.png"/>
        </StackPanel>
</Button>
c# wpf button
1个回答
0
投票

您可以将按钮的 FocusVisualStyle 属性设置为 null。单击按钮时,它将删除按钮周围出现的默认焦点矩形。

<Button 
    Style="{DynamicResource HeaderButtonStyle}" 
    Grid.Column="0" 
    Background="Transparent" 
    Width="Auto" 
    BorderBrush="Transparent" 
    Click="MinButton_Click"
    FocusVisualStyle="{x:Null}">
    <StackPanel Orientation="Horizontal">
        <Image RenderOptions.BitmapScalingMode="HighQuality" Source="/Resources/icons8-minimize-window-100.png"/>
    </StackPanel>
</Button>

如果您想将其应用于应用程序中的所有按钮,您可以在 App.xaml 文件中定义样式。

<Application.Resources>
    <Style TargetType="Button">
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    </Style>
</Application.Resources>

应用程序中的所有按钮在单击时都不会显示焦点矩形。如果您只想将此样式应用于特定按钮,可以使用键定义样式并根据需要将其应用于按钮:

<Window.Resources>
    <Style x:Key="NoFocusButtonStyle" TargetType="Button">
        <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
    </Style>
</Window.Resources>

<!-- apply the style to a button -->
<Button 
    Style="{StaticResource NoFocusButtonStyle}" 
    Grid.Column="0" 
    Background="Transparent" 
    Width="Auto" 
    BorderBrush="Transparent" 
    Click="MinButton_Click">
    <StackPanel Orientation="Horizontal">
        <Image RenderOptions.BitmapScalingMode="HighQuality" Source="/Resources/icons8-minimize-window-100.png"/>
    </StackPanel>
</Button>
© www.soinside.com 2019 - 2024. All rights reserved.