我几乎是Silverlight的新手,因此在经过十几篇关于依赖属性的文章后,我仍然有点困惑我们何时需要显式创建自己的自定义依赖属性?这些文章的技术术语让我很困惑。任何人都可以向我解释当我们在使用文本框时需要创建自己的DP的情况。 如果只是绑定,我们可以轻松地将文本绑定到Viewmodel中的其他内容,但为什么我们需要自己创建DP呢? 我有点困惑。请帮我举个例子。
答案 0 :(得分:0)
根据经验法则:您永远不需要在ViewModel中创建任何DependencyProperties
。
说明:
您正在使用Controls
来构建View,这些控件需要具有DependencyProperties,因为它们的值是通过DataBindings
填充的(当相应的属性不是DP时,DataBinding将无法运行)。但是该值的来源不需要是DP(即使它是TwoWay绑定)。所以你的ViewModel可以有普通的属性。
因此,只有当您处于创建自己的自定义控件的位置时,您还需要在这些控件中定义DependencyProperties,否则您将无法使用DataBinding。
答案 1 :(得分:-1)
根据经验,只能在想要设置或从xaml绑定的属性的控件上使用它们。 MSDN上有一个很棒的概述:http://msdn.microsoft.com/en-us/library/ms753358(v=vs.110).aspx#backing_with_dp