您的位置:首页 > Web前端 > CSS

[WPF] 自定义按钮样式

2011-09-28 17:23 459 查看

[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.定义为资源:
[code]<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 停止。
[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: