我使用DataTemplate
来显示一些带有自定义视图的按钮(带有图像,文本等)。这是一个简化的例子:
<DataTemplate DataType="{x:Type viewModel:ActionItem}">
<Button Background="SlateGray" Command="{Binding Command}">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Green"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="DarkGoldenrod"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
<TextBlock Text="{Binding Name}" />
</Button>
</DataTemplate>
为什么鼠标效果根本不起作用?
答案 0 :(得分:4)
因为Background="SlateGray"
会覆盖您在Style中触发的任何内容。删除该位,它应该工作。
答案 1 :(得分:0)
请在模板级别设置触发器,如
http://mysite.fr/wp-content/uploads/2016/custom/master.css