У меня есть проблема, когда мне нужно объединить DataTrigger
и PropertyTrigger
в MultiDataTrigger
, чтобы показать Image
в GridViewColumn
(в сочетании с TreeView
, это пользовательский элемент управления Iпользуюсь).Я экспериментировал и искал некоторые вещи в Интернете, и вот как далеко я продвинулся:
<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
) и когда источником изображения является folder_closed, я хочу, чтобы Image получил изображение folder_open.Я думаю, что я близок с приведенным выше кодом, но он на самом деле не работает.Image
вообще не меняется, когда я открываю TreeViewNode
.
Я думаю, что я делаю что-то не так с Условием на RelativeSource=Self
, но я не уверен.
Кто-нибудь, кто может мне помочь, пожалуйста?Заранее спасибо.
Конечно, при необходимости можно предоставить больше информации / кода.