【问题标题】:Change WPF Button Foreground when the "IsMouseOver" is True当“IsMouseOver”为真时更改 WPF 按钮前景
【发布时间】:2016-10-13 16:28:03
【问题描述】:

我看到了一些类似的问题,但似乎没有一个解决方案有效。

我更愿意通过 XAML 获得解决方案,但也不介意通过代码 (VB.net)。

我目前有这段代码,不知道有多少是正确的:

<Style TargetType="{x:Type Button}">
            <Setter Property="OverridesDefaultStyle" Value="True"/>
            <Setter Property="Foreground" Value="DarkSlateGray"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border Background="White">
                            <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="DodgerBlue"/>
                </Trigger>
            </Style.Triggers>
        </Style>

提前致谢。

【问题讨论】:

  • 您的 xaml 除了一件事之外大部分是正确的。 应该是 。前景也是如此。

标签: wpf vb.net xaml button styles


【解决方案1】:

这通常是正确的。但请注意,您的模板中的ContentPresenter 没有定义Content 属性。当然,如果需要更复杂的触发器,也可以和IsEnabled等其他东西组合成MultiTrigger

【讨论】:

  • 谢谢,有了这个输入,我得到了我想要的东西
猜你喜欢
  • 2017-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 2016-12-11
  • 2018-01-06
  • 2011-07-16
  • 2020-10-11
相关资源
最近更新 更多