私は以下のようなことをしたいが動作しません。私は自分のデータ型の中で定義したボタンのTagプロパティに整数(または何らかの型)の値を設定するためにdatatriggerを使いたい。ボタンのイメージスタイルの内側では、対応する値がボタンのtagプロパティに設定されているときにトリガーを発生させます。しかし、それはこのように働いているようには見えません。私はx:Null値を設定する場合、私はトリガーを発射することができます、それはロジックが大丈夫であることを意味します。しかし、0または1のような値を設定してもトリガは起動しません。どんな解決策ですか?ボタンのタグプロパティを整数値に設定してトリガーを起動する
<DataTemplate x:Key="SomeDataTemplateofSomeType">
<Button x:Name="ButtonVisible">
<Button.Template>
<ControlTemplate TargetType="Button">
<Image x:Name="FxImage">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding Tag, RelativeSource={RelativeSource TemplatedParent},UpdateSourceTrigger=PropertyChanged}" Value="0">
<Setter Property="Source" Value="/Resources/controls/images/fxiconsnone.png" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</ControlTemplate>
</Button.Template>
</Button>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsVisible, Value="True">
<Setter Property="Tag" TargetName="ButtonVisible" Value="1" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsVisible, Value="False">
<Setter Property="Tag" TargetName="ButtonVisible" Value="0" />
</DataTrigger>
</DataTemplate.Triggers>
</Datatemplate>
私のコピーペーストからこのコードを忘れてしまった。私のコードはそれのようなものです、私は誤解を避けるために最初の投稿を編集します。それでもこれはうまくいかないので、どうすればいいのか分かりますか? : – muku
@muku:自分のコードを自分のテストプロジェクトにコピーしたので、他の何かが問題になるはずです。あなたのアップデートを確認します –
本当ですか?私のセッターがsetterの値を0または1に変更すると、トリガは発生せず、またsetterの内部で別の値を設定すると、setterがtrueであることを示すテキストブロックテキストが設定されます。私は:) – muku