何时在WP7/Silverlight中使用依赖项属性

何时在WP7/Silverlight中使用依赖项属性,silverlight,windows-phone-7,windows-phone-7.1,Silverlight,Windows Phone 7,Windows Phone 7.1,Silverlight中依赖属性的特性是什么。我搜索了很多网站,但对此我没有一个明确的想法。有人能告诉我这个依赖属性在Silverlight中可以在什么上下文中使用吗 以下是简单的经验法则。如果要创建控件(UserControl或自定义模板控件),请使用依赖项属性添加新属性。否则,很少会创建从DependencyObject派生的模型或视图模型类,您可能只会在实现INotifyPropertyChanged时使用标准属性 依赖项属性是数据绑定的基础。不能对未实现为dependencPropert

Silverlight中依赖属性的特性是什么。我搜索了很多网站,但对此我没有一个明确的想法。有人能告诉我这个依赖属性在Silverlight中可以在什么上下文中使用吗

以下是简单的经验法则。如果要创建控件(UserControl或自定义模板控件),请使用依赖项属性添加新属性。否则,很少会创建从
DependencyObject
派生的模型或视图模型类,您可能只会在实现
INotifyPropertyChanged
时使用标准属性


依赖项属性是数据绑定的基础。不能对未实现为
dependencProperty
的属性使用数据绑定。出于类似的原因,如果要使用
情节提要
动画为属性设置动画,则需要将属性实现为
从属操作。如果您的财产是这样的普通公共财产:

public Double MyProperty
{
   get;
   set;
}
  • 您将无法将样式应用于属性

  • 您将无法在故事板中应用基于该属性的动画


  • 嗨,安东尼。与附属财产和附属财产有直接关系吗?在什么意义上它们不同???@Stephan:是的,它们是非常相似的东西,有着直接的关系。大多数情况下,依赖项属性被分配给其声明的类。然而,附加属性是专门设计用于附加到另一类型的实例,而不是其在中声明的实例。这允许将附加功能移植到完全不了解新功能的对象上。例如,
    Canvas.Left
    允许包含内容的画布发布
    UIElement
    UIEement
    本身对此一无所知。@AnthonyWJones:上次我在午餐前提交。。省去修改:(关于第1点,我认为您可以设置属性,但不能将其设置为
    {Binding}
    ——只能设置为静态值