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

来源:互联网 发布:淘宝网天猫女装外套 编辑:程序博客网 时间:2024/06/05 19:15

原文地址:https://wpf.2000things.com/2010/12/10/151-dependency-properties-remember-non-coerced-values/

如果你给依赖属性设置了某个值,并且它被强制转换了。这个设置的原始值会被记住。当你移除强制转换的判断条件后,改原始值将会被作为属性值返回。

假如我们有一个Person 类,它偶一个Age 依赖属性和一个SuperOld 属性。假定如果SuperOld 的值为true,Age 属性的值就会被强制转换为999。

这样,如果SuperOld 为true,你设置Age 属性的值的后,Age 的值会强制转换为999。但是如果你之后又将SuperOld 设置为false,Age 的值就会被恢复为你之前设置的值。

Person p = new Person("Methuselah"); p.Age = 28;p.SuperOld = true;    // Age 被强制转换为999 p.Age = 56;           // Age 为 999p.SuperOld = false;   // Age 变成56



0 0
原创粉丝点击