C#如何使UWP XAML按钮在悬停时不显示边框

时间:2019-06-23 07:04:28

标签: c# xaml uwp

这是我的按钮:

    <Button
        x:Name="buttonClear"
        Width="74"
        Height="52"
        Margin="3,175,0,0"
        Padding="8,1,8,5"
        HorizontalAlignment="Left"
        VerticalAlignment="Top"
        Content="C"
        FontSize="24"
        FontWeight="Normal"
        FocusVisualPrimaryBrush="Transparent"
        FocusVisualSecondaryThickness="0"
        Style="{ThemeResource ButtonRevealStyle}"
        Click="ButtonClear_Click" />

如您所见,我已经添加:

FocusVisualPrimaryBrush="Transparent"
FocusVisualSecondaryThickness="0"

我认为当鼠标指针悬停在按钮上时,它将消除显示的灰色边框。但这没用。

我还尝试将以下内容添加到App.xaml:

<Application.Resources>
    <SolidColorBrush x:Key="ButtonBackgroundPointerOver">Transparent</SolidColorBrush>
</Application.Resources>

仍然没有结果。我是否必须在其他地方引用密钥?

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用BorderThickness="0"

隐藏边框

您也可以按照visc的建议编辑按钮的完整样式。

答案 1 :(得分:0)

您需要修改Button的完整样式。完整的Button样式具有VisualState的悬停定义。只需修改或删除其故事板即可。

查看此链接,您将找到完整的默认按钮样式定义。 https://docs.microsoft.com/en-us/dotnet/framework/wpf/controls/button-styles-and-templates

我个人创建了导入到所有页面的资源字典文件,并在定义新按钮时将BasedOn设置为资源字典中修改后的按钮样式。