在控件模板内设置图像的图像源,用于xaml中的不同控件

时间:2014-01-11 13:16:37

标签: xaml windows-phone-7

我在Windows应用程序中创建了一个圆形按钮样式。我正在使用这种风格使按钮显示为圆形。风格代码如下:

<Style x:Key="CircularButton" TargetType="Button">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate  TargetType="Button">
                    <Grid>
                        <Ellipse Stroke="#FFF8F1F1"  />
                        <Image Width="50" Height="50" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
</Style>

我使用如下:

<Button x:Name="btnFacebook" Style="{StaticResource CircularButton}"  Click="btnFacebook_Click" Visibility="Visible" Margin="10,0"  />

现在我在页面上有许多需要为圆形的按钮,但需要有不同的背景图像。有没有办法为不同的按钮设置这种风格的图像源。我尝试过如下代码:

<Button x:Name="btnTwitter" Style="{StaticResource CircularButton}"  Click="btnTwitter_Click" HorizontalAlignment="Stretch" Margin="10,0">
   <ControlTemplate>
   <Image Source="Images/appbar.social.twitter.png"/>
   </ControlTemplate>
</Button>

此外,我尝试将图像直接放在按钮内容中,或者使用模板绑定在按钮内显示图像。有没有办法在不为不同按钮创建不同样式的情况下执行此操作。

1 个答案:

答案 0 :(得分:0)

类似的东西:

<Style x:Key="CircularButton" TargetType="Button">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate  TargetType="Button">
                <Grid>
                    <Ellipse Stroke="#FFF8F1F1"  />
                    <Image Width="50" Height="50" Source="{TemplateBinding Content}" />
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Button x:Name="btnTwitter" Style="{StaticResource CircularButton}"   Click="btnTwitter_Click" HorizontalAlignment="Stretch" Margin="10,0">
   <BitmapImage UriSource="Images/appbar.social.twitter.png"/>
</Button>