自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (7)
  • 收藏
  • 关注

翻译 #173 – 可以将将Freezable类型的(You Can Put Freezable Objects Into a Read-Only State)

继承自Freezable 的类一般有读/写两种状态,但是他们可以很明确的通过其Freeze 方法冻结并被设置为只读状态。在WPF中,被冻结的类执行起来会更有效率,因为他们不需要在其属性值改变的时候做属性通知。例如WPF中绘图相关的Brush和3D图形,它们继承自 Freezable. 他们初始的状态是未冻结的,因它们的任何一个改变都会引起属性改变的通知。如果你有一个继承自 Freezable的实例,但是你并不想改变它,你可以使用Freeze 将之冻结。

2016-07-30 14:36:52 583

翻译 #168 – 类的继承关系

WPF类的继承关系

2016-07-20 11:16:40 384

翻译 #167 – Implementing a Dependency Property That Is A Collection(实现一个Collection类型的依赖属性)

当你创建一个Collection类型的依赖属性的时候,你需要创建一个新的Collection类型的实例作为该属性的默认值,而不仅是一个静态的值。例如,我们定义一个Person.IQ 的依赖属性,默认值是100,

2016-07-20 11:13:41 314

翻译 #163 – Constructing FrameworkPropertyMetadata(构造FrameworkPropertyMetadata)

当你查看一个将自己的元数据存储在FrameworkPropertyMetadata实例中的依赖属性的元数据的时候,你可以看到下面这些bool类型的属性。在你构造FrameworkPropertyMetadata实例的时候,你不需要为所有这些bool类型的属性单独赋值。构造函数支持通过一些列枚举的逻辑或作为参数。而枚举值是FrameworkPropertyMetadataOptions 类型的枚举。

2016-07-19 18:27:39 1074

翻译 #160 – Be Careful When Setting Dependency Property Values from a DependencyObject Constructor

在构造函数中为依赖属性赋值必须小心使用C#编码的时候,我们应当尽量避免在构造函数中调用虚函数。因为你的构造函数很有可能是通过子类调用的,而这个时候子类并没有完全初始化完成。如果子类中重写了在构造函数中被调用的虚函数,那么这个被重写的虚函数在构造函数中将不会被父类调用。

2016-07-16 13:16:24 301

翻译 #159 – Creating a Read-Only Dependency Property(创建一个只读的依赖属性)

创建一个只读的自定义依赖属性和创建一个标准的依赖属性稍有不同。主要体现在: -使用DependencyProperty.RegisterReadOnly 注册而不是Register -创建一个静态的DependencyPropertyKey 类型的拷贝,用来公开静态的DependencyProperty属性 -只实现对应的CLR属性的get方法

2016-07-15 15:29:52 837

翻译 #158 – When to Create a Custom Dependency Property(哪些情况要创建自定义依赖属性)

当你创建一个类,并未其创建属性的时候,你需要确定是否将它创建为完全的WPF依赖属性。如果某个属性是标准的CLR属性,而非依赖属性,你依然可以在XAML中设置它的值。但是在下面这些情况下,你可能需要自定义依赖属性:

2016-07-14 10:22:29 340

翻译 #155 – Implementing an Attached Dependency Property(如何实现附加属性)

当你需要实现一个在XAML使用的附加属性的时候,你可以使用 DependencyProperty.Register 函数,它的使用方法和Register函数一样。下面的例子中,我们打算注册一个附加属性 Person.AgeProperty

2016-07-07 09:35:55 354

翻译 #154 – Reusing an Existing Dependency Property in Your Class(重用依赖属性)

用DependencyProperty.Register 方法可以简单的使用依赖属性。同样,我们可以使用DependencyProperty.AddOwner 方法重用已经存在的依赖属性。当重用一个已经存在的依赖属性的时候,你可以选择会否在你的类中为它指定一个新的元数据。同样也需要定义GetValue/SetValue 来实现对属性的读取。

2016-07-05 10:14:59 391

翻译 #151 – Dependency Properties Remember Non-Coerced Values(依赖属性强制转换之前的值会被记住)

如果你给依赖属性设置了某个值,并且它被强制转换了。这个设置的原始值会被记住。当你移除强制转换的判断条件后,改原始值将会被作为属性值返回。假如我们有一个Person 类,它偶一个Age 依赖属性和一个SuperOld 属性。假定如果SuperOld 的值为true,Age 属性的值就会被强制转换为999。

2016-07-04 17:34:04 447

翻译 #150 – An Example of Using PropertyChanged and CoerceValue Callbacks(PropertyChanged和CoerceValue例子)

在使用依赖属性的时候,有的时候可能会遇到需要强制限定多个依赖属性之间的关系的情况,这个时候一般会用CoerceValueCallback 和PropertyChangedCallbacks 来实现。举个例子,假定我们有一个Person 类,有BirthYear(出生)、DeathYear(去世) 和MarriageYear(结婚) 三个属性。我们确定结婚时间必须在出生和去世之间,出生时间必须早

2016-07-01 10:55:56 533

你比我猜,游戏程序(windows)

公司年会的时候需要做一个你比我猜的游戏,于是让我写了一个游戏UI,十分简单,现在分享出来给大家。这个程序需要.Net Framework4

2018-01-31

WPF播放GIF图片源代码

WPF播放GIF项目,里面有实现了一个控件(GIFImage)播放GIF控件,然后在窗体中使用。这个控件可以单独拿出来使用。

2016-09-23

WPF拖曳例子

WPF拖曳例子

2016-06-28

WPF Drag Drop例子

WPF Drag Drop例子

2016-06-28

官方WPF 拖曳例子源代码

官方WPF 拖曳例子

2016-06-28

微软C#无线网络管理库

微软官方C#编写的无线网络管理类库

2016-05-24

电脑报VC++教程

简单易懂的介绍了MFC编程,示例不错,适合新手。

2007-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除