将图像转换为按钮

时间:2014-03-08 02:26:39

标签: wpf xaml

我正在使用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" />

对于一个按钮是可以的,但我需要将此资源用于另外两个按钮,但我需要更改图像标记(用于更改图像)

我是怎么做到的?

2 个答案:

答案 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" />

对具有不同图像源的每个按钮重复

不确定它是否有效,但您可以尝试