silverlight - 属性(property)值(value)继承

标签 silverlight dependency-properties

在MSDN和其他资源上进行了大量搜索之后,我基本上发现“某些”依赖属性确实支持类似于WPF的属性值继承。但是,据我所知,尚没有确定哪些属性可以定义哪些属性的明确列表。例如,我知道字体属性;但是Horizo​​ntalContentAlignment却没有。我还在该论坛中看到了另一个线程,该线程指出DP优先级列表不包括值继承(http://msdn.microsoft.com/en-us/library/cc265148(VS.95).aspx#listing)。

此外,似乎甚至无法将可继承元数据应用于任何自定义DP,因此Silverlight框架似乎已针对特定属性对其进行了自定义修改。我需要确切地知道哪些依赖属性确实支持属性值继承。如果我错过了一篇关于此主题的明显文章或主题,那么我深表歉意,但我在搜索中已经非常透彻。

谢谢。

最佳答案

您提到Font属性支持此功能,因此我对反射器做了一些挖掘,发现这很有趣:

文字块

public static readonly DependencyProperty FontSizeProperty = DependencyProperty.RegisterCoreProperty(0x40003714, typeof(double));

控制
public static readonly DependencyProperty FontSizeProperty = DependencyProperty.RegisterCoreProperty(0x80003714, typeof(double));

排队
public static readonly DependencyProperty FontSizeProperty = DependencyProperty.RegisterCoreProperty(0x3714, typeof(double));

因此,所有这三个类都定义了FontSizeProperty,并且所使用的id看起来非常相似,好像第一位只是某种标志。因此,也许在幕后进行了一些事情,这些事情允许您所谓的属性继承,因为框架可能会在这些类似的dp id之间传递值。

关于silverlight - 属性(property)值(value)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/508763/

相关文章:

c# - 将焦点设置到文本框

silverlight - 如何将父 View 中的参数设置为在用户控件中声明为静态资源的 View 模型

c# - 在更改的回调中设置 DependencyProperty 值

custom-controls - WPF 自定义控件 : DependencyProperty never Set (on only 1 of many properties)

c# - 使用私有(private)字段或 DependencyProperty 支持绑定(bind)属性有什么区别?

c# - 如何编写自定义依赖属性和数据绑定(bind)到自定义类型?

silverlight - iPhone 喜欢在 Silverlight ListBox 上滚动

c# - 关于T型的问题

WPF:将主窗体属性传递给用户控件

silverlight - 在 Silverlight 中,如何根据在列表框中选择的项目设置启用按钮的启用状态?