第17章 控件模版(2)——模版绑定

来源:互联网 发布:安装ubuntu与win7共存 编辑:程序博客网 时间:2024/06/05 12:01

一、模版绑定概述

通过第17章 控件模版(1)——模版的创建与使用可以看出为按钮设置Padding属性没有作用,这时我们就需要在模版中特殊注意该属性,这个特殊注意指的就是模版绑定。

模版绑定:指模版内的值是从使用模版的控件获取。

二、改进模版代码

<Window.Resources>    <ControlTemplate x:Key="btn_Template" TargetType="{x:Type Button}">        <Border BorderBrush="Orange" BorderThickness="2" CornerRadius="15" Background="YellowGreen" TextBlock.Foreground="White" x:Name="Border">            <ContentPresenter Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" Margin="{TemplateBinding Padding}"/>        </Border>    </ControlTemplate></Window.Resources>
三、运行效果

四、特殊说明

①模版绑定与普通数据绑定类似,但它的量级更轻,因为它是专门针对在控件模版中使用而设计的。它只支持单向数据绑定,即仅能从控件获取值到模版。如果遇到模版绑定不生效的情形,可改用具有完整功能的数据绑定。

②预计需要哪些模版绑定的唯一方法是检查默认控件模版,通过Blend去查看标准的控件模版即可。当然也可以通过设置控件属性看其是否起作用来决定是否使用模版绑定。

③在许多情况下,可不考虑模版绑定。实际上,如果不准备使用属性或者不希望修改模版就不必绑定属性。例如,本例中的文本字体颜色为白色,后期不需要变更其它颜色,就可不考虑模版绑定了。

0 0
原创粉丝点击