我有,我需要一個DataTrigger
和PropertyTrigger
結合成一個MultiDataTrigger
顯示在GridViewColumn
的Image
問題(與TreeView
結合起來,這是我使用一個自定義的控制) 。我嘗試和搜索互聯網上的一些變薄,這是多遠我來:MultiTrigger:組合DataTrigger和PropertyTrigger不工作
<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時,我希望圖像獲取folder_open圖像。我認爲我接近上面的代碼,但它並不真正起作用。當我打開TreeViewNode
時,Image
根本沒有變化。
我覺得我在RelativeSource=Self
上的條件做錯了,但我不確定。
任何人都可以幫助我嗎?提前致謝。
當然,如果需要可以提供更多信息/代碼。
我試過了,它仍然沒有工作,雖然它比較轉換器的返回值有很大的意義。 – 2012-03-01 10:56:45
我認爲問題出在WpfSettings.IsExpanded屬性上。當我使用MultiValueConverter進行調試時,IsExpanded屬性的值爲「UnsetDependencyProperty」,可能在調用觸發器時也是如此。 – 2012-03-01 11:01:13
可以。我嘗試了一個與IsExpanded類似的測試代碼,如true/false,它按預期工作 – 2012-03-01 11:13:09