WPF样式和触发器
理解样式
样式可以定义通用的格式化特征集合。
Style 类的属性
Setters、Triggers、Resources、BasedOn、TargetType
如果以上代码不使用x:Key ,那个TargetType属性还可以作为自动应用样式的快捷方式。
关联事件处理程序
private void element_MouseEnter(object sender,MouseEventArgs)
{
//业务代吗 事件处理程序
}
多层样式
*BaseOn *属性来设置样式的继承
BaseOn可创建完整的样式继承链,最后设置的同一属性会覆盖基样式,样式继承的依赖会使程序变得脆弱,不建议使用样式继承。
触发器
可自动完成简单的样式改变,需要使用样板事件处理逻辑。通过 Style.Triggers集合链接到样式中,继承System.Windows.TriggerBase。
TriggerBase的继承类
Trigger、MultiTrigger、DataTrigger、MultiDataTrigger、EventTrigger
通过FrameworkElement.Triggers集合可以直接为元素应用触发器。
简单触发器
以上触犯器都触发了IsFocused和IsPressed属性,那么设置的背景颜色为Blue,这不在于那个属性先触发,而是取决于触发器在标记中的排列顺序。
多条件的情况项不用关系声明的顺序,在改变背景颜色之前需要条件都为真。
事件触发器
DoubleAnimation为Double类型动画类,位于System.Windows.Media.Aniamtion,Storyboard为故事版,为动画提供时间线,内部可以定义一个或多个动画。动画在一定时间类修改依赖项属性。