前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF模板

WPF模板

作者头像
hbbliyong
发布2018-03-05 16:04:37
9410
发布2018-03-05 16:04:37
举报
文章被收录于专栏:hbbliyonghbbliyong

先来个模板:

代码语言:javascript
复制
<ControlTemplate x:Key="button" TargetType="Button">
            <Border CornerRadius="4" BorderThickness="3">
                <Border.BorderBrush>
                    <LinearGradientBrush EndPoint="0,1">
                        <GradientStop Offset="0" Color="#FF95EB09"/>
                        <GradientStop Offset="1" Color="Yellow"/>
                    </LinearGradientBrush>
                </Border.BorderBrush>
                <Border.Background>
                    <LinearGradientBrush EndPoint="0,1">
                        <GradientStop Offset="0" Color="Yellow"/>
                        <GradientStop Offset="1" Color="#FF95EB09"/>
                    </LinearGradientBrush>
                </Border.Background>
                <ContentPresenter  HorizontalAlignment="Center"
                                   VerticalAlignment="Center"/>
            </Border>
            
        </ControlTemplate>

注:边框与背景的渐变色相反可以显得有质感,

效果如:

1.模板绑定

我们希望能够添加一些参数到模板中,或者利用来自模板控件中的属性更进一步地自定义控件,

所以我们可以在模板控件上绑定属性,让控件使用者能够调整控件上的属性并自定义模板,代码如:

代码语言:javascript
复制
 <ControlTemplate x:Key="button" TargetType="{x:Type Button}">
            <Border CornerRadius="4" BorderThickness="{TemplateBinding Property=BorderThickness}"
                    BorderBrush="{TemplateBinding Property=BorderBrush}"
                    Background="{TemplateBinding Property=Background}"
                    >
                <ContentPresenter/>

            </Border>
        </ControlTemplate>

  这段代码把来自Border的三个属性绑定到了模板化的Button控件上同样的属性上。这样做以后,只需简单

的设置Button上的属性,就可以了创建下图的按钮:

代码语言:javascript
复制
 <ControlTemplate x:Key="button" TargetType="{x:Type Button}">
            <Border CornerRadius="4" BorderThickness="{TemplateBinding Property=BorderThickness}"
                    BorderBrush="{TemplateBinding Property=BorderBrush}"
                    Background="{TemplateBinding Property=Background}"
                    >
                <ContentPresenter/>

            </Border>
        </ControlTemplate>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-07-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档