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


    1.数据模板
    wpf的数据模板在之前的文章已经使用过,就是绑定数据的时候,定义一个数据模板来设置数据内容的显示方式
    datatemplate,定义在资源中,然后数据控件可以引用这个数据模板

    2.控件模板

    wpf中所有可视的控件都拥有控件模板这个属性,有了这个属性就可以控件呈现出各种模样出来,而不是默认的模样
    //这个使用button控件,典型的语法如下
     <Button Name="btn1" Click="btn1_Click">
                <Button.Template>
                    <ControlTemplate>
                        <Border Name="border" Background="Gray" BorderBrush="Red" BorderThickness="5">
                            <TextBlock Text="{TemplateBinding Button.Content}"></TextBlock>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="true">
                                <Setter TargetName="border" Property="Background" Value="yellow"></Setter>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Button.Template>
            </Button>
       <TextBlock Text="{TemplateBinding Button.Content}"></TextBlock>地方有个特殊的绑定:模板绑定,
    templatebinding,这个绑定其实就是将模板中的控件和真正的最外层的button联系到一起,就是说textblock显示内容就是button的内容“button with template”。除此之外,还可以使用button各个属性,使模板内的控件和button的某些属性保持一致
    在控件模板中可以使用触发器,触发器的用法和在style中介绍的用法很类似,具体参考wpf中触发器
    唯一的小差别是控件和模板中有很多控件,要指定这个触发器使用的对象TargetName="border"

    控件模板当然可以定义到资源中,指定一个key以后,window窗口的控件都可以使用template属性来使用这个模板控件
    <window.resouce></...>
    ...
    <button name="b" template="{staticresource  templateKeyName}">...

    3.模板和样式的统一
    典型的写法:
    <style>
    <setter property="template">
    <setter.value>
    <controltemplate>...</controltemplate>
    </setter.value>
    </setter>
    </style>

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    AX 2012 Security Framework
    The new concept 'Model' in AX 2012
    How to debug the SSRS report in AX 2012
    Using The 'Report Data Provider' As The Data Source For AX 2012 SSRS Report
    Deploy SSRS Report In AX 2012
    AX 2012 SSRS Report Data Source Type
    《Taurus Database: How to be Fast, Available, and Frugal in the Cloud》阅读笔记
    图分析理论 大纲小结
    一文快速了解Posix IO 缓冲
    #转载备忘# Linux程序调试工具
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319317.html
Copyright © 2011-2022 走看看