zoukankan      html  css  js  c++  java
  • [WPF] 自定义按钮样式

    有了WPF,一切都将变得简单..


    样式代码比较多,请看附件! 

     /Files/lovebread/ButtonStyle.rar

    ControlTemplate 指定控件的可视结构和可视行为。可以通过为控件指定新 ControlTemplate 自定义该控件的外观。创建 ControlTemplate 后,可以在不更改现有控件的功能的情况下更改其外观。例如,您可以将应用程序中的按钮设置为圆形,而不是默认的方形,但该按钮仍将引发 Click 事件。 

    定义模板的方法有三种:

    1.内联定义:

    <Button Content="Button1">
    <Button.Template>
    <ControlTemplate TargetType="Button">
    <!--Define the ControlTemplate here.-->
    </ControlTemplate>
    </Button.Template>
    </Button>

    2.定义为资源:
    <StackPanel>
    <StackPanel.Resources>
    <ControlTemplate TargetType="Button" x:Key="newTemplate">
    <!--Define the ControlTemplate here.-->
    </ControlTemplate>
    </StackPanel.Resources>
    <Button Template="{StaticResource newTemplate}" Content="Button1"/>
    </StackPanel>

    3.通过Style定义:
    <StackPanel>
    <StackPanel.Resources>
    <Style TargetType="Button" x:Key="newTemplate">
    <Setter Property="Template">
    <Setter.Value>
    <ControlTemplate TargetType="Button">
    <!--Define the ControlTemplate here.-->
    </ControlTemplate>
    </Setter.Value>
    </Setter>
    </Style>
    </StackPanel.Resources>
    <Button Style="{StaticResource newTemplate}" Content="Button1"/>
    </StackPanel>


    通过使用 TemplateBinding 保留控件属性的功能

    创建新的 ControlTemplate 后,仍可能想要使用公共属性更改控件的外观。TemplateBinding 标记扩展将
    ControlTemplate 中元素的属性绑定到由控件定义的公共属性。


    根据控件状态更改控件外观
    可以使用 VisualState 对象指定控件在处于特定状态时的外观。VisualState 包含 Storyboard,用于更改
     ControlTemplate 中的元素的外观。无需编写任何代码即可实现此目的,这是因为控件的逻辑可通过使用
     VisualStateManager 来更改状态。控件进入 VisualState.Name 属性指定的状态时,演示图板开始工作。
    控件退出该状态时,Storyboard 停止。
     
  • 相关阅读:
    pylint
    Cygwin安装与配置
    Spring的配置文件
    网络传输测试软件
    MINA快速传输文件
    Jar包下载
    shutdown彻底关闭tomcat,以及多线程关闭
    Git使用
    例说数学学习中的四基
    求等差数列前n项和S_n的最值
  • 原文地址:https://www.cnblogs.com/lovebread/p/1725851.html
Copyright © 2011-2022 走看看