我对WPF很新,并创建了一种改变按钮控件外观的样式。该样式包含一个数据触发器,用于根据数据上下文中的布尔属性更改按钮背景(以及其他内容),例如: -
<Style x:Key="IndicatorButton" TargetType="Button">
<DataTrigger Binding="{Binding Path=ValveIsOpen}" Value="True">
<Setter Property="Background" Value="#00FF00"/>
..etc..
目前,样式仅由单个按钮使用,因此数据触发器绑定使用名为“ValveIsOpen”的属性进行硬编码。 我现在想在整个应用程序中重复使用这种样式,不同的按钮被绑定到不同的属性。如何在应用样式的每个按钮上更改数据触发器绑定?
非常感谢
答案 0 :(得分:1)
您需要定义基本样式和派生样式,例如
<Style x:Key="IndicatorButton" TargetType="Button">
<Setter Property="Foreground" .../>
...
<Style x:Key="ValveIndicatorButton" TargetType="Button" BasedOn={StaticResource IndicatorButton}>
<DataTrigger Binding="{Binding Path=ValveIsOpen}" Value="True">
<Setter Property="Background" Value="#00FF00"/>
..etc..