WPF DependencyObject类的setValue()与SetCurrentValue()使用。

来源:互联网 发布:妄想代理人知乎 编辑:程序博客网 时间:2024/06/15 12:22

  链接: msdn对setcurrentvalue()的解释

   对WPF了解的朋友一定对setValue()很熟悉。但是对SetCurrentValue()就不一定了,用的比较多的时候是自己写一个新控件,处理自己注册的DependencyProperty属性时。

 · 1、先看一下这个setcurrentvalue()方法的注释

//        // 摘要:        //     设置 依赖项属性 的值,而不更改其值的来源。        //        // 参数:        //   dp:        //     设置依赖项属性的标识符。        //        //   value:        //     新的本地值。        //        // 异常:        //   T:System.InvalidOperationException:        //     尝试更改只读依赖项属性或一个属性在密封 System.Windows.DependencyObject。        //        //   T:System.ArgumentException:        //     value 不正确的类型 (如注册 dp 属性。        public void SetCurrentValue(DependencyProperty dp, object value);

这里说的不更改其值得来源意思是说:
你之前对DependencyProperty 属性的绑定,触发器等依旧有效,并且可以正常的触发绑定的通知,触发器通知等。如果你使用的是setvalue,那么相当于先进行了clearvalue(),你对该DependencyProperty 属性所有的绑定都会失效...。

0 0