搜档网
当前位置:搜档网 › WPF 皮肤样式使用

WPF 皮肤样式使用

WPF 样式使用的几个小结
2011-07-25 23:47
WPF 样式学习总结



一、在学习WPF的样式之前,先总结下静态资源的使用方法:

首先,将.NET名称空间系统映射到XAML名称空间前缀

然后,在窗口级别上定义相关的资源,也可以在Grid面板或StackPanel面板上设定资源。



Times New Roman

18

Bold



最后,就可以在元素中使用这些资源:



二、使用静态资源设置属性的方法非常繁琐,以下是使用样式的方法:











XAML中定义的样式也可以在代码中使用:

button1.Style = (Style)cmd.FindResource("FontButtonStyle");

如果使用了样式的元素又显式的修改了属性,那么元素修改后的属性将覆盖样式。

三、样式的嵌套层次:



四、样式中关联事件处理程序



事件处理代码:

private void element_MouseEnter(object sender, MouseEventArgs e)
{
((TextBlock)sender).Background = new SolidColorBrush(Colors.GreenYellow);
}

private void element_MouseLeave(object sender,

MouseEventArgs e)
{
((TextBlock)sender).Background = null;
}

五、多层样式







六、通过类型自动应用样式






这样,在所有的元素中,按钮都被替换为了设定的样式,如果哪个按钮不需要该样式,只需要在该按钮的XAML中设定Style="{x:Null}"或显式改变该按钮的属性。

七、样式中的触发器

只能处理一些简单的触发事件,当需要处理复杂事件时(判断一些条件成立,计算等)需要使用事件处理程序,如标题四。

触发器的好处是:不用为了翻转它们而编写任何逻辑。只要触发事件取消,元素就会恢复到它的正常外观。



当希望创建只有当多个条件同时满足时才能激活的触发器,需要使用MultiTrigger触发器:























八、事件触发器、 故事板

XAML中,每个动画必须在故事板中定义,故事板为动画提供了时间线。






以上代码实现简单的动画效果。

当使用事件触发器时,需要反转事件触发器,使事件回到原来的状态。


相关主题