0

我有一个问题,我需要将 aDataTrigger和 a组合PropertyTrigger成 aMultiDataTrigger以在 a 中显示Image一个GridViewColumn(结合 a 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根据Converter. folder_open 或另一个(现在不重要)。现在我想要的是:当 TreeViewNode 展开WpfSetting.IsExpanded = true时(我想我很接近上面的代码,但它并没有真正起作用。当Image我打开TreeViewNode.

我认为我在 Condition 上做错了什么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 回答