0

私はWPFにかなり慣れておらず、ボタンコントロールの外観を変更するスタイルを作成しました。スタイルには、データコンテキストのブールプロパティに基づいてボタンの背景を(とりわけ)変更するためのデータトリガーが含まれています。例:-

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

現在、スタイルは1つのボタンでのみ使用されるため、データトリガーバインディングは「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 に答える