Style
描述:可以给多个控件设置相同的属性不必对每个控件都引用一次资源
属性:设置属性
样式继承Based0n=" (StaticResource MouseOverHighlightStyle)
Key:如果不写明TargetType默认指定的是Control类型
不指名Key,但是指明TarthetType就会自动应用到所有该类型的控件上
Style=" (x:Null) "可不使用自动样式。
Template
定义:控件外衣和数据外衣
分类:
1.ControlTemplate
可通过Blend查看每个基础控件的构成
ListBox. ItemsPane Itemplate
2.DataTemplate
1.ContentControl.ContentTempIdate
2.ItemControl.ItemTemplate
3.GridViewsColumn.CellTempIdate
3.ControlTemplate和DataTemplate 的关系
ControlTemplate.ContentPresenter=DataTemplate
4.借助Stvle自动实现Template
把ControlTenpIzte应用到所有控件上需要借助Style来实现,但style不能标记X:KEY
使用:
ContentTemplate="{StaticResource DatialViewTemplate}"
可视树和逻辑树
1.可视树:可视化树代表你界面上所有的渲染在屏幕上的元素。可视化树用于渲染,事件路由,定位资源(如果该元素没有逻辑父元素)等等等等。向上或者向下遍历可视化树可以简单的使用VisualTreeHelper和简单的递归方法。
2.逻辑树:逻辑树表示UI的核心结构。和XAML文件中定义的元素近乎相等,排除掉内部生成的那些用来帮助渲染的可视化元素。WPF用逻辑树来决定依赖属性,值继承,资源解决方案等。