zoukankan      html  css  js  c++  java
  • WPF模板

    先来个模板:

    <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.模板绑定

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

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

     <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上的属性,就可以了创建下图的按钮:

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

  • 相关阅读:
    从dotNet到VB6之模仿构造OleDbDataAdapter与dataset结合
    编程的偷懒艺术与美感
    给您参考,现在开发数据库项目用.net 2005成熟吗?还是用.net2003比较有保证
    access数据库版权及容量问题
    中天股票数据格式
    受伤与药油的最佳搭配
    关于发布各种股票软件数据格式
    .net 与flash8传递(互传)数组的技巧
    我的C语言合集
    ZOJ 1205 Martian Addition 解题报告
  • 原文地址:https://www.cnblogs.com/smiler/p/3189394.html
Copyright © 2011-2022 走看看