摘要: WPF资源的优点 WPF资源系统是一种保管一系列有用对象的简单方法,从而可以更容易地重用这些对象,它主要有以下优点:高效,通过资源可以定义一个对象,并在标记中的多个地方重用,这会使代码变的更加精简,并且更加高效。 可维护性,通过资源可以使用低级的格式化细节,并将它们移到方便对其进行修改的中央位置。在... 阅读全文
posted @ 2014-08-10 16:13 qing_sun 阅读(393) 评论(0) 推荐(0) 编辑
摘要: WPF命令模型 ICommand接口 WPF命令模型的核心是System.Windows.Input.ICommand接口,该接口定义了命令的工作原理,它包含了两个方法和一个事件: public interface ICommand{ void Execute(obje... 阅读全文
posted @ 2014-08-04 23:09 qing_sun 阅读(3557) 评论(0) 推荐(0) 编辑
摘要: 数据绑定是一种关系,该关系告诉WPF从一个源对象提取一些信息,并使用这些信息设置目标对象的属性,目标属性总是依赖项属性,然而,源对象可以是任何内容。源对象是WPF元素并且源属性是依赖项属性的数据绑定,这是最简单的数据绑定。 绑定表达式 如下XAML示例,数据绑定表达式使用XAML扩展标记... 阅读全文
posted @ 2014-08-02 19:12 qing_sun 阅读(1213) 评论(0) 推荐(0) 编辑
摘要: Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性。 应用程序事件 Application提供了为数不多的几个非常有用的事件,如下图所示: 有两种选择用于处理事件:在XAML中使用事件特性的方式关联事件处理程序,或重写相应... 阅读全文
posted @ 2014-07-31 00:22 qing_sun 阅读(899) 评论(0) 推荐(0) 编辑
摘要: 所有控件都继承自System.Windows.Control类。 字体继承 当设置任何字体属性时,属性值都会流经嵌套的对象,例如,如果为顶级窗口设置了FontFamily属性,窗口中的所有控件都会得到相同的FontFamily属性值,除非为控件明确设置了不同的字体。这是因为字体属性是依赖属性,并且依赖属性能够提供的特性之一就是属性值继承。 属性值继承能够流经那些... 阅读全文
posted @ 2014-07-25 22:48 qing_sun 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 定义、注册和包装路由事件 WPF事件模型和属性模型非常类似,和依赖属性一样,路由属性由只读的静态字段表示,在一个静态构造函数中注册,并且通过一个标准的.Net事件定义进行包装。例如,WPF的Button类提供了熟悉的Click事件,该事件继承自ButtonBase基类。 public abstract class ButtonBase : Co... 阅读全文
posted @ 2014-07-21 21:17 qing_sun 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 定义依赖项属性 public class FrameworkElement : UIElement{ public static readonly DependencyProperty MarginProperty; static FrameworkElement() { ... 阅读全文
posted @ 2014-07-19 16:12 qing_sun 阅读(949) 评论(0) 推荐(0) 编辑
摘要: 所有WPF布局窗口都派生自System.WIndows.Controls.Panel抽象类的面板。 不能在布局容器中放置字符串内容,而是需要一个继承自UIElement的类对字符串进行包装,如TextBlock或Label类。 布局过程 WPF布局包含两个阶段:一个测量(measure)阶段和一个排列(arrange)阶段。在测量阶段,窗口遍历所有子元素,并询问子元素... 阅读全文
posted @ 2014-07-17 23:28 qing_sun 阅读(815) 评论(0) 推荐(0) 编辑
摘要: RuntimeNameProperty特性:为什么等价于,是因为Grid类使用RuntimeNameProperty特性进行了修饰, RuntimeNameProperty特性指示哪个属性的值将被做为该类型的实例的名称。WPF的类型转换器:XAML解析器通过以下的两个方法查找类型转换器,如果找不到,... 阅读全文
posted @ 2014-07-17 22:52 qing_sun 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 1 /// 2 /// 压缩字符串 3 /// 4 /// 5 /// 6 public static string Compress(string str) 7 { 8 if (string.IsNullOrEmpty(str)) 9 {10 return "";11 }12 byte[] bytes = Encoding.UTF8.GetBytes(str);... 阅读全文
posted @ 2013-06-26 15:48 qing_sun 阅读(451) 评论(0) 推荐(0) 编辑