当“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