我见过一些类似的问题,但解决方案似乎不起作用。
我更愿意通过 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
。