布局,不管是web还是winform,都必须要会布局,布局基础类Panel
触发器,要想用好wpf,触发器必须要会
样式,给软件穿衣服,布局和样式一般是放到一起说,类似html+css
命令,命令也是wpf一大特点,必须要懂的基础
依赖属性
模板
路由和事件
资源
进阶:
MEF
Prism
MVMLight
动画(Animation、TimeLine、StoryBoard、Thumb、Transform(二维图像变换,缩放、旋转、平移、扭曲))
用户控件和自定义控件
视觉树和逻辑树
工作线程更新UI
资源和样式
资源: Resource 动态资源和静态资源:静态资源在引用对象初始化时一次性设置完毕;对于动态资源、如果发生了改变则会重新应用资源 资源字典:ResourceDictionary 样式: 触发器:属性触发器、事件触发器
wpf模板
三种模板:控件模板、数据模板、面板模板 FrameworkTemplate 逻辑树、可视化树 逻辑树:UI界面的组成元素结构(Button是一个逻辑树元素) 可视化树:逻辑树的扩展版本,它将元素分成更小的部分(逻辑树Button由多个可视化树元素构成) VisualTreeHelper类和LogicTreeHelper类:帮助查看逻辑树和可视化树
wpf布局
Panel是布局容器的基类 1. 布局过程 a. 测量,每个Panle都提供了自己的MeasureOverride b. 排列,每个Panle都提供了自己的ArrangeOverride 2. Canvas a. 默认不剪裁超出自身范围的内容(ClipToBounds=false) b. 元素默认显示在画布的左上方 3. StackPanel a. 将子元素按照堆栈的形式排列(横排、竖排) b. 默认剪裁超出范围的内容 c. Orientation 设置元素的排列方向及默认宽高