3

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

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

那么这个属性有什么用呢?

4

2 回答 2

1

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

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

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

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

于 2013-08-07T09:27:04.373 回答
0

这真的很晚了,但我知道答案。

当您将 Button 拖放到设计器表面时,其 Font 始终与其容器的 Font 相同。这是有道理的:如果您将表单的字体设置为特殊字体,您可能希望所有控件也具有特殊字体。

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

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

于 2017-03-14T13:27:48.850 回答