摘要: WPF 依赖属性属性和事件是.NET抽象模型的核心部分,WPF在这之上增加了Dependency Property(依赖属性)。依赖属性使用更高效的保存机制,并且支持附加的功能,更改通知、属性值继承(在元素树中向下传播默认属性值)以及减少属性存储空间。依赖属性是WPF动画、数据绑定和样式的基础。通过封装,依赖属性和.NET属性的访问方式一致,但是其背后的实现方式是不一样的。使用依赖属性的原因很简单... 阅读全文
posted @ 2011-08-16 16:26 连风 阅读(1939) 评论(1) 推荐(1) 编辑
摘要: XAML特殊字符此部分只限制在XAML中,代码中不受此类限制。 1、特殊字符转义XAML 特殊字符转义特殊字符转义小于号 <&lt;大于号 >&gt;取址符 &&amp;引号 "&quot; 2、空白字符默认情况下,XAML折叠所有空白,这意味着包含空格、Tab键以及硬回车的长字符串将被转换为单个空格。而且,如果在一个元素内容之前或之后添加空白,这个空格将被完全忽略。如果希望保留这些空白,需要为元... 阅读全文
posted @ 2011-08-16 15:19 连风 阅读(2033) 评论(0) 推荐(1) 编辑
摘要: XAML 中的嵌套元素 XAML文档被排列成一颗巨大的嵌套的元素树,XAML让每个元素决定如何处理嵌套的元素。这种交互使用下面三种机制中的一种进行中转和求值。IList接口 如果父元素实现了IList接口,解析器就会调用IList.Add()方法,并且将该元素作为参数传入。IDictionary接口 如果父元素实现了IDictionary接口,解析器就会调用IDictionary.Add()方法,并且将该元素作为参数传入。当使用字典集合时,还必须设置x:Key特性一遍为每个子元素指定一个键名。ContentProperty特性 如果父元素使用ContentProperty特性进行修饰,解析器就 阅读全文
posted @ 2011-08-16 15:04 连风 阅读(383) 评论(0) 推荐(0) 编辑
摘要: WPF 和美工 切记96DPI WPF使用分辨率无关的绘图模型,内部使用96DPI。而一般Photoshop默认DPI为72,这样在界面上使用时会发现图片变大并失真的情况。部分类的使用 使用C#语言的partial class实现。部分类允许在开发阶段把一个类分成两个或多个独立的部分,并在编译过的程序集中把这些独立的部分融合在一起。可以由开发人员完成View(需要编码的部分,例如:依赖注入等等),Model和ViewModel,而美工完成View(XAML)工作。控件模板当需要修改控件的外观时,首先应现检查该控件提供了哪些模板可供修改,如果有合适的模板,则可以直接修改,否则就只能修改Contr 阅读全文
posted @ 2011-08-16 14:55 连风 阅读(576) 评论(0) 推荐(0) 编辑
摘要: XAML 变体XAML(Extensible Application Markup Language)发音为"zammel",是用于实例化.NET对象的标记语言。它是基于XML语法、专门用于表示一颗.NET对象树的语言。XAML包含如下几个子集:WPF XAML包含描述WPF内容的元素。如:适量图形、控件以及文档。XPS XAMLXPS(XML Paper Specification)是WPF XAML的一部分,为格式化的电子文档定义了一种XML表示方式。XPS XAML已经作为单独的XML页面规格标准发布。Silverlight XAML是用于Silverlight应用程 阅读全文
posted @ 2011-08-16 14:41 连风 阅读(154) 评论(0) 推荐(0) 编辑
摘要: WPF 4 新特性提供了更多的控件新增加了DataGrid、DatePicker、Calendar以及WebBrowser。2D绘图改进现在任何元素的可视化外观都能够通过像素着色器进行极大的改变,以得到PhotoShop风格的效果。还可以通过控制单个像素的方式生成并修改图像(WriteableBitmap类)。动画缓存可以创建自然的进行反弹、加速以及摆动的更加逼真的动画效果。可视化状态管理器提供了一种更换控件皮肤的更简单的方法,使用这种方法不需要理解它们内部工作的复杂细节。Windows 7为Windows 7任务栏提供了本地支持,例如:跳转列表(jump lists)、图表重叠、进度提示、工 阅读全文
posted @ 2011-08-16 14:26 连风 阅读(306) 评论(0) 推荐(0) 编辑
摘要: WPF类层次结构System.Threading.DispatcherObject类WPF应用程序使用STA(Single Thread Affinity)模型,整个用户界面由一个单独的线程拥有,从另一个线程和用户界面元素进行交互是不安全的。通过继承自DispatcherObject类,用户界面中的每个元素都可以检查代码是否在正确的线程上运行,并且可以访问调度程序为用户界面线程封送代码。Syste... 阅读全文
posted @ 2011-08-16 13:56 连风 阅读(586) 评论(0) 推荐(0) 编辑