我正在使用Blend for visual Studio 2012,我遇到了问题,我需要将图像从资源更改为三个按钮
我将图片转换为按钮
这些资源仅供一个按钮使用:
<Window.Resources>
<Style x:Key="AppBtn" TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Image x:Name="image" Source="1394235016_close.png" Stretch="None" Opacity="0.8" />
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" TargetName="image" Value="1"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Button Style="{DynamicResource AppBtn}" Click="Button_Click" Margin="2,0,2,0" />
对于一个按钮是可以的,但我需要将此资源用于另外两个按钮,但我需要更改图像标记(用于更改图像)
我是怎么做到的?
答案 0 :(得分:1)
我对此进行了测试并且有效
以您的风格执行以下操作
<Image x:Name="image" Source="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Tag}" Stretch="None" Opacity="0.8" />
并在按钮中
<Button x:Name="Search_Button" Click="Button_Click"
Style="{DynamicResource AppBtn}" Tag="your resource"/>
更改每个按钮中的标记以提供图像资源
答案 1 :(得分:0)
试试这个 在样式模板
中 <Image x:Name="image" Source="{TemplateBinding ImageSource}" Stretch="None" Opacity="0.8" />
当您在页面上应用按钮时,请尝试以下操作;
<local:AppBtn ImageSource="*yoursource*" />
<Button Style="{DynamicResource AppBtn}" Click="Button_Click" Margin="2,0,2,0" />
对具有不同图像源的每个按钮重复
不确定它是否有效,但您可以尝试