什么时候我们需要创建自己的自定义依赖项属性?

本文关键字:依赖 属性 自定义 自己的 我们 创建 什么时候 | 更新日期: 2023-09-27 18:15:00

我对Silverlight非常陌生,因此在阅读了十几篇关于依赖属性的文章之后,我仍然有点困惑,什么时候我们需要显式地创建我们自己的自定义依赖属性?那些文章上的专业术语把我搞糊涂了。谁能解释我的场景,当我们需要创建我们自己的DP假设使用文本框。如果它只是为了绑定,我们可以很容易地将文本绑定到视图模型中的其他东西,但为什么我们需要自己创建一个DP ?我有点糊涂了。请给我举个例子。

什么时候我们需要创建自己的自定义依赖项属性?

作为一个经验法则:你不应该在你的ViewModels中创建任何DependencyProperties

解释:您正在使用Controls来组成您的视图,这些控件需要具有DependencyProperties,因为它们的值是通过DataBindings填充的(当相应的属性没有DP时,DataBinding将不起作用)。但是该值的源不需要是DP(即使它是双向绑定)。所以你的ViewModel可以有普通的属性。

所以只有当你在创建自己的自定义控件时,你才需要在这些控件中定义DependencyProperties,否则你不能使用DataBinding。

根据经验,只在您希望从xaml设置或绑定的属性控件上使用它们。MSDN上有一个很好的概述:http://msdn.microsoft.com/en-us/library/ms753358(v=vs.110).aspx#backing_with_dp