如何在silverlight中应用templateBinding on image按钮

时间:2012-03-29 22:36:51

标签: windows-phone-7

我是使用Sliverlight的新手。希望可以有人帮帮我。我需要图像按钮来显示订单是完整的还是过程状态。这两个的单击事件功能相同,以导航同一页面。目前我在App.xaml上创建了两个客户图像按钮,因为此图像的源不能执行“TemplateBinding”;该按钮没有此属性。这是一个更好的方法吗?如果是这样,您会提供代码或链接,以便我可以从中学习吗?感谢。

有我的代码:

<Style x:Key="btnComplete" TargetType="Button"  >
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <StackPanel>
                        <Image  Height="50" Width="120" Stretch="none"   Source="../images/btnComplete.png"/>                            
                    </StackPanel>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

2 个答案:

答案 0 :(得分:2)

实现此目标的最简单方法是为按钮创建透明的controltemplate,并将图像作为内容添加到按钮的任何位置。

页面中的按钮代码如下所示。

   <Button  Height="100" Width="100" Style="{StaticResource TransparentButtonStyle}" Click="TwitterBtn_Click">
         <Image Height="100" Source="YourIcon.png" Width="100"/>
   </Button>

可以在App.xaml中声明TransparentButtonStyle。多数民众赞成!

<Style x:Key="TransparentButtonStyle" TargetType="Button">
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="Button">
               <ContentControl x:Name="ContentContainer" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}"
                        Foreground="{TemplateBinding Foreground}" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

答案 1 :(得分:1)

这是wp7的ImageButton实现。我已经使用过这个例子并修改它以用于各种事情: http://silvergeek.net/2011/01/14/imagebutton-control-for-win-phone-7/

您还可以查看Codeing4Fun控件&amp;来源,特别是按钮。 http://coding4fun.codeplex.com/

更新:Telerik现在也有一个用于wp7的ImageButton控件。