當「ToggleButton」IsPressed爲true時,我試圖更改圖像源(僅限XAML)。但是當iam嘗試通過''Image.Trigger'綁定該屬性時,它不起作用。XAML更改Togglebutton中的圖像源
這就是我現在所擁有的圖像顯示完全像我想要的。
<ToggleButton x:Name="pbStations"
Template="{StaticResource ContentOnlyTemplateToggleButton}">
<StackPanel Orientation="Horizontal">
<Image Source="/Sprites/Misc/ExpanderButtonClose.png"
Margin="2"
Stretch="Uniform"
x:Name="img">
</Image>
<TextBlock Text="STATIONS"
x:Name="tbStations"
Style="{StaticResource tbTriggerGray}" />
</StackPanel>
</ToggleButton>
這就是我試圖不工作:
<ToggleButton x:Name="pbStations"
Template="{StaticResource ContentOnlyTemplateToggleButton}">
<StackPanel Orientation="Horizontal">
<Image Source="/Sprites/Misc/ExpanderButtonClose.png"
Margin="2"
Stretch="Uniform"
x:Name="img">
<Image.Triggers>
<DataTrigger Binding="{Binding ElementName=pbStations,Path=IsPressed}"
Value="True">
<Setter TargetName="img"
Property="Image.Source"
Value="/Sprites/Misc/ExpanderButtonOpen.png" />
</DataTrigger>
</Image.Triggers>
</Image>
<TextBlock Text="STATIONS"
x:Name="tbStations"
Style="{StaticResource tbTriggerGray}" />
</StackPanel>
</ToggleButton>
Blablablaster嗨, 我想你的做法,但我得到一個「XamlParseException」當IAM試圖調試,當我檢查的細節我可以看到,它說,根據「的InnerException」 - >「{」找不到資源'sprites/misc/expanderbuttonopen.png'。「} 而在Setters中,我不能使用」TargetName =「img」「,因爲它表示找不到名稱 – hijack 2013-02-14 10:11:44
我刪除了TargetName =「img」,所以xaml現在應該沒問題。仔細檢查ExpanderButtonOpen.png,如果路徑正確嗎? – Blablablaster 2013-02-14 10:22:51
感謝您的幫助!:)您對圖像路徑的正確性。 – hijack 2013-02-14 11:00:53