2018年10月20日
摘要: 一、概述 众所周知,绑定的源既可以是依赖属性也可以是普通的CLR属性,而绑定的目标只能是依赖属性。 控件PasswordBox的Password属性不是依赖属性,不可以作为绑定的目标与后台数据进行绑定,而在MVVM模式中,前台和后台的绑定是经常需要的,为了达到这种目的,我们可以借助附加属性来实现Pa 阅读全文
posted @ 2018-10-20 16:45 缘惜 阅读(8468) 评论(0) 推荐(0) 编辑
  2018年10月15日
摘要: 一、控件模板概述 控件的外观通过一个ControlTemplate类型的对象确定,该对象指定了组成一个控件的显示的各种视觉元素。 当WPF创建一个控件时,会创建一个控件类(模板父)的实例,然后实例化通过它的ControlTemplate设定的这个控件的外观树(组成这个控件的内部UI元素)。 二、开发 阅读全文
posted @ 2018-10-15 16:22 缘惜 阅读(2744) 评论(2) 推荐(1) 编辑
  2018年10月12日
摘要: 一、概述 我们利用ValidationRule以及ErrorTemplate来制作一个简单的表单验证。 二、Demo 核心思想:我们在ValidationRule中的Validate函数中进行验证,然后将验证结果存放至一个预先定义好的全局资源中,这样其他控件就可以根据验证结果来进行相应的处理,代码参 阅读全文
posted @ 2018-10-12 22:15 缘惜 阅读(912) 评论(0) 推荐(0) 编辑
摘要: 一、概述 我们知道,Binding好比架设在Source和Target之间的桥梁,数据可以借助这个桥梁进行流通。在数据流通的过程中,我们可以在Binding这座桥梁上设置关卡,对数据的有效性进行验证。 二、验证方法 我们利用Binding的ValidationRules(类型为Collection< 阅读全文
posted @ 2018-10-12 11:20 缘惜 阅读(7825) 评论(0) 推荐(5) 编辑
  2018年10月10日
摘要: 一、概述 当Binding有明确的数据来源的时候,我们可以用Source或者ElementName赋值的办法让Binding与之关联。 但是,有时候当我们不能确定作为Source的对象叫什么名字的时候,但我们知道它与作为Binding目标的对象在UI布局上的对应关系的时候,我们就 需要使用Bindi 阅读全文
posted @ 2018-10-10 14:54 缘惜 阅读(655) 评论(0) 推荐(0) 编辑
  2018年10月8日
摘要: 一、场景 现在外部有一xml文件,我们想将该xml文件中的内容绑定到ListView中,该如何实现? 二、实现 xml文件的内容如下: 1 <Window x:Class="BindingDemo2XmlDataSource.MainWindow" 2 xmlns="http://schemas.m 阅读全文
posted @ 2018-10-08 16:04 缘惜 阅读(736) 评论(0) 推荐(0) 编辑
  2018年9月29日
摘要: 一、Combox绑定 场景:定义多个Person,Person有Name和Age属性,将多个Person与Combox进行绑定,Combox中只显示Name信息,点击任意一个item,在左侧显示该条目的详细信息。 参考代码以下: 运行结果如下: 我们也可以利用DataContext属性来简化前台绑定 阅读全文
posted @ 2018-09-29 15:28 缘惜 阅读(1145) 评论(0) 推荐(0) 编辑
摘要: 一、绑定到非UI元素 上篇中,我们绑定的数据源均是派生自UIElement的WPF元素。本篇描述的绑定数据源是一个我们自定义的普通的类型。 注:尽管绑定的数据源可以是任意类型的对象,但Path必须总是指向一个公共属性。 当绑定一个非UI元素对象时,不能使用Binding.ElementName属性, 阅读全文
posted @ 2018-09-29 14:33 缘惜 阅读(315) 评论(0) 推荐(0) 编辑
  2018年9月28日
摘要: 一、何为数据绑定 场景:考虑一个Window上有一个TextBox和一个Slider两个元素,当我们拖动滑动条的时候,会在TextBox中显示当前滑动条的数值;当我们在TextBox中输入一个有效值,滑动条 中的滑块会滑到TextBox中输入的值所对应的位置。 定义:数据绑定可以理解为两个对象之间的 阅读全文
posted @ 2018-09-28 11:19 缘惜 阅读(571) 评论(0) 推荐(1) 编辑
  2018年9月27日
摘要: 一、概要 我们将会通过一个简单的综合例子来阐述下依赖属性的变化。 场景:我们在一个文本框中输入一个数字,然后对应的panel中会出现对应的椭圆,椭圆的个数与输入的文本相同。 我们在MainWindow中定义一个名字叫CountProperty的依赖属性,该属性关联到一个回调方法OnCountChan 阅读全文
posted @ 2018-09-27 16:42 缘惜 阅读(278) 评论(1) 推荐(0) 编辑