AmbientValue属性有什么用?

时间:2013-08-07 09:08:24

标签: c# properties attributes

我遇到了这个班级AmbientValueAttribute。 它是您可以在类的属性上指定的属性。 我阅读了整个页面http://msdn.microsoft.com/en-us/library/system.componentmodel.ambientvalueattribute.aspx,包括示例。但它的用法仍然不清楚。

在我看来它只是表明该财产反映了另一个对象的属性(为什么要这样做?)。或者还有更多吗?

那么使用这个属性是什么意思?

2 个答案:

答案 0 :(得分:1)

我自己从未使用过此属性,但我认为用于为可视化设计器工具指示应该是属性的默认值。

代码示例属于color属性,我认为如果没有为属性设置值,则环境值是显示的值。因此,在示例中,如果您有AlertForeColor属性的设计器,如果未选择任何值,则将显示值“Empty”。

我认为,您可以通过显示环境值而不是实际值(例如可能为空白)来为用户提供更好的体验。

现在,我自己没有使用过这个属性,但我认为这是它的用途。

答案 1 :(得分:0)

这已经很晚了,但我知道答案。

当您在设计器表面上放置Button时,其Font始终与其容器的Font相同。这是有道理的:如果你将Form的Font设置为特殊的,你可能希望所有的控件都有一个特殊的字体。

这就是“环境”属性的工作原理。虽然该属性可能具有默认值,但该属性建议设计者应使用父级值。如果没有父项具有该属性的值,则将使用“真实”默认值。

我不知道它是否真的有用,我不能说我曾经尝试过这个属性。