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



我见过一些类似的问题,但解决方案似乎不起作用。

我更愿意通过 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属性。当然,如果您需要更复杂的触发器,也可以与其他东西结合使用,例如IsEnabledMultiTrigger

相关内容

  • 没有找到相关文章

最新更新