"IsMouseOver" 为 True 时更改 WPF 按钮前景

Change WPF Button Foreground when the "IsMouseOver" is True

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

我更愿意通过 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>

提前致谢。

大体上是正确的。但请注意,模板中的 ContentPresenter 没有定义 Content 属性。当然,如果你需要更复杂的触发器,你也可以将IsEnabled组合成一个MultiTrigger.