私のViewModelのブール値プロパティにContentプロパティがバインドされたボタンコントロールがあります。このボタンは、非同期WCFコールを介して実行される産業機械のバルブの開閉に使用されます。サービスが戻るとブール値のプロパティが更新され、ボタンの視覚的状態への変更がトリガされます。バルブが閉じているとき、それを通る断面を持つバルブが開いているときはWPF trigger on Contentプロパティ(ブール値にバインドされています)が動作していません
<Button Command="{Binding Path=OpenCloseValveCommand}"
Content="{Binding Path=ValveIsOpen}"
Style="{StaticResource ResourceKey=OnOffButtonStyle}">
ボタンが緑色である必要があり、赤:これは、ボタンXAMLです。これはスタイルですxaml:
<Style TargetType="Button" x:Key="OnOffButtonStyle" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Canvas>
<Rectangle x:Name="_rect" Fill="Red" Stroke="Black" Width="30" Height="30"></Rectangle>
<Path x:Name="_path" Data="M0,0 L30,30 M0,30 L30,0" StrokeThickness="1" Stroke="Black" />
</Canvas>
<ControlTemplate.Triggers>
<Trigger Property="Content" Value="true">
<Setter TargetName="_rect" Property="Fill" Value="Lime" />
<Setter TargetName="_path" Property="Visibility" Value="Hidden" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
残念ながら、トリガは起動しないようです。私はそれがボタンと関係があると推測しているコンテンツはブール型にバインドされている - 私はトリガ値として "真"以外を使用する必要がありますか? (私がviewmodelプロパティを整数に変更し、0または1を使用し、トリガの値が "1"の場合、トリガは機能します)。事前に
おかげ
アンディ
ちょうど私が後だった!どうもありがとう –