【发布时间】:2012-03-19 19:49:12
【问题描述】:
我有一个问题,我需要将DataTrigger 和PropertyTrigger 组合成MultiDataTrigger 以在GridViewColumn 中显示Image(结合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>
现在,根据Converter,最初,Image 可以有两个图像。 folder_open 或另一个(现在不重要)。现在我想要的是:当 TreeViewNode 展开 (WpfSetting.IsExpanded = true) 并且图像源为 folder_close 时,我希望图像获取 folder_open 图像。我想我很接近上面的代码,但它并没有真正起作用。当我打开 TreeViewNode 时,Image 根本没有改变。
我认为我在 RelativeSource=Self 上的条件有问题,但我不确定。
谁能帮帮我?提前致谢。
当然,如果需要,可以提供更多信息/代码。
【问题讨论】:
标签: wpf image datatrigger multidatatrigger multitrigger