随笔分类 - WPF
摘要:绘图 1)Brush(画刷) SolidColorBrush实心画刷,直接使用颜色赋值 LinearGradientBrush线性渐变画刷,色彩沿设定的直线方向、按设定的变化点进行渐变 RadialGradientBrush径向渐变画刷,色彩沿半径的方向,按设定的变化点进行渐变,形成圆形填充 Ima
阅读全文
摘要:模板 如果把WPF窗体看做一个舞台的话,窗体上的控件就是演员,他们的职责就是在用户界面上按照业务逻辑的需呀哦扮演自己的角色。为了让同一个控件担当起不同的角色,程序员就要为他们设计多种外观样式和行为动作。这就是Style。构成Style 的两个重要元素就是Setter和Trigger,Setter是用
阅读全文
摘要:模板 DataTemplate和ControlTemplate的关系 通过上面的内容,控件只是一个数据和行为的载体,是一个抽象的概念,至于它长什么样子,或者它的数据是怎么展示的,都是由模板生成的。决定控件外观的ControlTemplate,决定数据外观的是DataTemplate,他们正式Cont
阅读全文
摘要:模板 在WPF中,模板可以分为两大类: 控件模板(ControlTemplate)是算法内容的表现形式,一个控件怎么组织其内部的结构才能让它更符合业务逻辑,让用户操作更舒服,都是由她控制的。它决定了控件长什么样子,并让程序员有机会在控件原有的内部逻辑基础上扩展自己的逻辑。 数据模板(DataTemp
阅读全文
摘要:资源 对象级资源:每个WPF的界面元素都有一个名为Resources的属性,这个属性继承自FrameworkElement类,其类型为ResourceDictionary,采用键值对的形式存储资源,当需要某个资源时,使用键值的形式索引到资源。资源保存时为object类型,所以在使用时先要对资源对象进
阅读全文
摘要:命令 1)命令系统的基本元素 命令(Command),WPF的命令实际上就是实现了ICommand接口的类,平时使用最多的是RoutedCommand类 命令源(Command Source),即命令的发出者,是实现了ICommandSource接口的类,很多界面元素都实现了这个接口,比如Butto
阅读全文
摘要:路由事件 为了方便程序中对象之间的通信常常需要我们定义一些路由事件。使用路由事件比直接事件方便得多。 创建自定义路由事件的步骤: 1)声明并注册路由 2)为路由事件添加CLR事件包装 3)创建可以激发路由事件的方法 // 声明并注册路由事件 public static readonly Routed
阅读全文
摘要:事件(Event) 首先我们来继续说一下UI组件树,因为WPF事件 的路由环境就是组件树。WPF中的树有两种,一种是逻辑树(Logical Tree),一种是可视元素树(Visual Tree)。逻辑树的显著特点就是它完全由布局组件和控件构成,每个结点不是布局控件就是组件。我们把WPF的控件解剖后继
阅读全文
摘要:依赖属性 1)字段与属性:字段被封装在实例中,要么能够被外界访问(非Private),要么不能够被外界访问(Private)。但是我们直接把数据暴露给外界的做法不安全,容易把错误的数据写入字段。于是我们使用一对非Private的方法包装一下。使用Set进行赋值(可以进行验证和判断数据的有效性),使用
阅读全文
摘要:MultiBinding(多路Binding) 当UI中的显示信息是由源Source中的多个数据来决定时,使用MultiBinding。他和Binding的区别是需要传递多个元数据,针对多个数据源需要使用一个转换机制类决定目标的属性。 转换器代码: public class ScanTimeConv
阅读全文
摘要:Binding对数据的校验和转换 1)数据校验,通过Binding的ValidationRules属性(Collection类型)进行校验。可以设置多个数据校验条件。 <Slider Margin="5" Maximum="100" Minimum="0" SmallChange="1" x:Nam
阅读全文
摘要:Binding(绑定) 先上图,再解释 针对这个图,我们先来说说什么是Binding。 Binding就是一个桥梁,建立在数据和UI之间的桥梁。既然是数据驱动,那么我们就把数据称之为“源”,那么UI就是目的地,通过Binding将源数据送到指定的UI去展示。我们还可以在桥梁上进行数据的校验和转换,还
阅读全文
摘要:控件与布局 突出特点:1、专门的UI设计语言XAML,无需像MFC那样使用编程语言设计UI。2、前几代在UI和数据交互方面是由消息Message到控件事件,始终是把UI控件放在主导位置而把数据放在了次要位置,用UI驱动数据的改变。WPF在事件驱动的基础上引入了数据驱动的概念,让数据作为主导位置。UI
阅读全文
摘要:x名称空间详解 几个需要特别说明的名称空间: x:Class 用来标记XAML和后台代码之间的合并关系。x:Class根节点的类型必须和x:Class值指向的类型保持一致。x:Class的值指向的类型在声明的时候必须是部分类,包含partial关键字。 x:Key 使用键值对的形式,将公共的资源或者
阅读全文
摘要:2 XAML语法 树形结构,我们将整个XAML的结构想象成一棵树,我们从树的顶部向下看,形成俯视图。最上面的叶子节点会覆盖父节点,同级的子节点,后面的(也就是树的最上面)会覆盖前面的。覆盖包含了形状(UI的展现形式)和功能(操作或者命令),如果叶子节点不去处理,会将这个操作一直延伸到根节点,一旦叶子
阅读全文
摘要:WPF系列目录 2. XAML认识 3. XAML语法 4. x名称空间详解 5. 控件与布局 6. 绑定Binding-01 6. 绑定Binding-02 6. 绑定Binding-03 7. 属性Property 8. 事件Event-01 8. 事件Event-02 9. 命令Command
阅读全文
摘要:WPF缘起 自2012年起,根据公司需要,开始进入界面开发工作。公司是医疗器械行业,很多操作都是基于PC进行的,所以桌面应用开发尤为重要。原有项目都是基于MFC进行的开发,而且是VC6.0的技术,维护和新项目的开发成本都很高。所以,尝试使用WPF+SQL server代替原来的MFC+文件检索,进行
阅读全文

浙公网安备 33010602011771号