【问题标题】:Change Button FontWeight and/or FontStyle on mouseover [closed]在鼠标悬停时更改按钮字体粗细和/或字体样式[关闭]
【发布时间】:2021-12-20 21:40:55
【问题描述】:

我想创建一个在鼠标悬停时动态更改其样式的按钮。我想更改 Foreground、Background、Border、FontWeight 和/或 FontStyle。我的 Window.Resources 中有以下 XAML...

<Window.Resources>
    <Style TargetType="Button" x:Key="mouseOverStyle">
        <Setter Property="Foreground" Value="#FF808080" />
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="TextBlock.FontWeight" Value="Normal" />
        <Setter Property="TextBlock.FontStyle" Value="Normal" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button" >
                    <Border x:Name="Border" Background="{TemplateBinding Background}"  BorderBrush="Transparent" BorderThickness="2" >
                        <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
                    </Border>
                    <ControlTemplate.Triggers >
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Foreground" Value="White" />
                            <Setter Property="Background" Value="#FF303030" />
                            <Setter Property="TextBlock.FontWeight" Value="Bold" />
                            <Setter Property="TextBlock.FontStyle" Value="Italic" />
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

</Window.Resources>

在 MouseOver 上,Background、Foreground 和 Border 属性正确更改。但是,FontWeight 和 FontStyle 不会改变。

请告诉我我缺少什么,或者我需要改变什么。谢谢。

【问题讨论】:

    标签: c# .net wpf


    【解决方案1】:

    鉴于您定义 Style 的方式,您需要明确告诉 Button 要使用哪种样式,如下所示:

    <Button Style="{StaticResource mouseOverStyle}" />
    

    您可以使用一些替代方案,它们会隐式告诉应用程序中的所有控件应用样式。让我们知道,答案可以扩展为包含此方法作为替代方法。

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2015-01-14
      • 1970-01-01
      • 2015-07-31
      相关资源
      最近更新 更多