这里我已将自定义按钮设置为圆形。但触发器内的属性不起作用。如果IsEnabled
属性为false并且IsMouseOver
属性为true,我想将背景设置为红色。如何将IsMouseOverProperty添加到样式中
<Style x:Key="CircleButton" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid >
<Ellipse Stroke="#003878"
StrokeThickness="2" >
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Offset="0"
Color="#003878" />
<GradientStop Offset="1"
Color="#003878" />
<GradientStop Offset="1"
Color="#003878" />
<RadialGradientBrush.Transform>
<TransformGroup>
<ScaleTransform ScaleY="0.65" />
</TransformGroup>
</RadialGradientBrush.Transform>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="#FFFFFF" />
<Setter Property="FontSize" Value="12" />
<Setter Property="FontFamily" Value="Calibri"/>
<Setter Property="BorderThickness" Value="0"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Red"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
使用[MultiTrigger](https://msdn.microsoft.com/en-us/library/system.windows.multitrigger(v = vs.110).aspx) – 3615
@ 3615'IsMouseOver'不会触发_true_而按钮被禁用。 – Sam
@萨姆罗杰,简单的多触发器将无法正常工作。没有注意触发属性名称。 – 3615