【问题标题】:Setting imagesource of image inside controltemplate for different controls in xaml为xaml中的不同控件设置控件模板中图像的图像源
【发布时间】:2014-01-11 23:03:23
【问题描述】:

我在 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>

我还尝试将图像直接放在按钮内容中,或者使用模板绑定在按钮内显示图像。有没有什么方法可以做到这一点,而无需为不同的按钮创建不同的样式。

【问题讨论】:

    标签: xaml windows-phone-7


    【解决方案1】:

    类似这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多