0

DataTriggeraと aPropertyTriggerを aに組み合わせて aMultiDataTriggerに表示する必要があるという問題があります( ImageaGridViewColumnと組み合わせて、TreeView私が使用しているカスタム コントロールです)。インターネットでいくつかのシンを実験して検索しましたが、これが私がどこまで来たかです:

 <Image Width="16" 
        Height="16" 
        Stretch="UniformToFill">
           <Image.Style>
              <Style TargetType="{x:Type Image}">
                  <Setter Property="Source" 
                          Value="{Binding ScorecardNiveau, Converter={StaticResource ScorecardNiveauToImageConverter}}" />
                     <Style.Triggers>
                       <MultiDataTrigger>
                          <MultiDataTrigger.Conditions>
                             <Condition Binding="{Binding WpfSettings.IsExpanded}" Value="True" />
                             <Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Source}" Value="/folder_closed.png" />
                          </MultiDataTrigger.Conditions>
                          <Setter Property="Source" Value="/folder_open.png" />
                        </MultiDataTrigger>
                     </Style.Triggers>
            </Image.Style>
  </Image>

Imageでは、 に従って、最初は 2 つのイメージを持つことができますConverter。folder_open または別のもの (今は重要ではありません) のいずれかです。今私が欲しいのは、TreeViewNode が展開されているWpfSetting.IsExpanded = trueとき ()、Image Source が folder_closed のときに、Image に folder_open 画像を取得させたいということです。上記のコードに近いと思いますが、実際には機能していません。を開いてもはImageまったく変化しませんTreeViewNode

の状態に何か問題があると思いますRelativeSource=Selfが、よくわかりません。

私を助けてくれる人はいますか?前もって感謝します。

もちろん、必要に応じて、より多くの情報/コードを提供できます。

4

1 に答える 1

1

問題は RelativeSource=Self ではありませんが、Source (ImageSource 型) を文字列値 ("/folder_closed.png") と比較しようとすると、false が返されます。

次の条件を試してください:

<Condition Binding="{Binding ScorecardNiveau, Converter={StaticResource ScorecardNiveauToImageConverter}}" Value="/folder_closed.png" />
于 2012-03-01T10:40:23.390 に答える