0

我对 WPF 相当陌生,并创建了一种样式来改变按钮控件的外观。该样式包含一个数据触发器,用于根据数据上下文中的布尔属性更改按钮背景(除其他外),例如:-

<Style x:Key="IndicatorButton" TargetType="Button">
   <DataTrigger Binding="{Binding Path=ValveIsOpen}" Value="True">
      <Setter Property="Background" Value="#00FF00"/>
      ..etc..

目前该样式仅由单个按钮使用,因此数据触发器绑定使用名为“ValveIsOpen”的属性进行硬编码。我现在想在我的应用程序中重复使用这种风格,不同的按钮绑定到不同的属性。如何更改应用样式的每个按钮上的数据触发器绑定?

非常感谢

4

1 回答 1

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..
于 2012-04-10T15:08:52.780 回答