摘要: 1. 在 ControlTemplate 中寻找元素 <Window.Resources> <ControlTemplate x:Key="cTmp"> <StackPanel> <StackPanel.Resources> <Style TargetType="TextBlock"> <Sette 阅读全文
posted @ 2021-02-26 22:17 鑫茂 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 1. 关系 凡是 Template,最后都得作用到 控件 上,这个控件就是 Template 的目标控件(也称模板化控件); DataTemplate 一般是落实在一个 ContentPresenter 对象上,而 ContentPresenter 类只有 ContentTemplate 属性、没有 阅读全文
posted @ 2021-02-26 22:12 鑫茂 阅读(144) 评论(0) 推荐(1) 编辑
摘要: 常用 ControlTemplate 的地方:Control 的 Template 属性 运用效果举例:穿着 CheckBox 外衣的 ToggleButton,披着温度计的 ProgressBar。 好处: 通过更换 ControlTemplate 改变控件外观,使之具有更优的用户使用体验及外观; 阅读全文
posted @ 2021-02-25 22:35 鑫茂 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 如果把控件的功能视为内容,则可以使用控件模板 ControlTemplate 来控制它的展现; 如果把数据视为内容,则可以使用数据模板 DataTemplate 把数据展示出来; ControlTemplate 是算法内容的表现形式,一个控件怎样组织其内部结构才让它更符合业务逻辑、让用户操作起来更舒 阅读全文
posted @ 2021-02-25 22:15 鑫茂 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 为了避免丢失和损坏,编译器允许我们把外部文件编译进程序主体、成为程序主体不可分割的一部分,这就是传统意义上的程序资源,即二进制资源; WPF 的四个等级资源: 数据库里的数据 (仓库) 资源文件 (行旅箱) 对象资源 (背包) 变量中的数据 (手中) 1. 对象级的定义和查找 <Window.Res 阅读全文
posted @ 2021-02-25 22:10 鑫茂 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 WPF 事件的路由环境是 UI 组件树,先来看看这棵树。 1.1 Logical Tree 和 Visual Tree WPF 中的树有两种,一颗是逻辑树,另一颗也是逻辑树。 开玩笑,WPF 不是鲁迅,另一颗是可视元素树。 逻辑树的每个节点不是布局组件就是控件; 而可视化树把逻辑树延伸到 阅读全文
posted @ 2021-02-25 22:09 鑫茂 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1. CLR 属性 .Net Framework 中的属性又称为 CLR 属性,是对 private 字段的安全访问包装。 使用 ILSpy 反编译器可以看到 C# 中代码的属性的编译结果是 set._xx 、get._xx 两个方法; 即使再多的实例,方法也只有一个拷贝,因此 CLR 属性并不会增 阅读全文
posted @ 2021-02-24 22:54 鑫茂 阅读(73) 评论(0) 推荐(0) 编辑
摘要: MultiBinding 与 Binding 一样继承自 BindingBase,因此可以使用 Binding 的地方都可以使用 MultiBinding。 namespace System.Windows.Data { [ContentProperty("Bindings")] public cl 阅读全文
posted @ 2021-02-24 22:49 鑫茂 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 1. Binding 对数据的转换和校验 Binding 中,有检验和转换关卡。 1.1 数据校验 源码: namespace System.Windows.Data { public class Binding : BindingBase { ... public Collection<Valid 阅读全文
posted @ 2021-02-24 22:45 鑫茂 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 1. 源与路径 把控件作为 binding 源与 binding 标记拓展; 控制 Binding 的方向及数据更新; Binding 的路径 Path; 没有路径的 Binding; 为 Binding 指定源的几种方法; 没有 Source 的 Binding; 使用集合对象作为列表控件的 It 阅读全文
posted @ 2021-02-24 18:57 鑫茂 阅读(211) 评论(0) 推荐(0) 编辑