用户控件属性设计器属性
Posted
技术标签:
【中文标题】用户控件属性设计器属性【英文标题】:User Control Property Designer Properties 【发布时间】:2010-09-05 17:45:32 【问题描述】:对于 Windows Mobile 上的 C# UserControl(尽管如果您知道它适用于完整的 Windows,请回答...它可能会起作用)您如何更改控件的公共属性之一的“设计器属性”窗口中显示的内容。例如:
private Color blah = Color.Black;
public Color Blah
get return this.blah;
set this.blah = value;
这显示在控件中,但它属于“杂项”类别,没有描述或默认值。我尝试过使用 System.ComponentModel 中的设置,例如“DesignerCategory”,例如:
[DesignerCategory("Custom")]
但是说这仅对类声明有效...可以发誓这是我之前使用的 System.ComponentModel 项...
更新:
@John 说:
DesignerCatogy 用于表示如果 class 是一个表单、组件等。
试试这个:
[类别(“自定义”)]
我需要使用特定的命名空间来获取这些命名空间吗? 我已经完全尝试过了,编译器无法识别它们。
在 .NETCF 中,我似乎可以从 System.ComponentModel 获得的只是:
DataObject,
DataObjectMethod,
DefaultValue,
DesignerCategory,
DesignTimeVisible,
EditorBrowsable
它唯一不会尖叫的是 EditorBrowsable
【问题讨论】:
devx.com/dotnet/Article/32421/1763/page/2#codeitemarea 【参考方案1】:DesignerCategory
用来表示类是表单还是组件等
对于完整的窗口,您想要的属性是:
[System.ComponentModel.Category("Custom")]
对于描述,您可以使用[System.ComponentModel.Description("This is the description")]
同时使用:
[System.ComponentModel.Category("Custom"),System.ComponentModel.Description("This is the description")]
不过,这是 system.dll
的一部分,对于 windows mobile 可能会有所不同。
【讨论】:
【参考方案2】:本文并未暗示任何人在设备上进行设计。但是,当您创建 Compact Framework 项目时,Compact 框架(适用于您的台式 PC)用于处理设计时渲染。如果您考虑一下,这就是您所期望的。相同的框架(或几乎如此)用于在设计时在您的 PC 上进行渲染,然后在运行时在设备上进行渲染。问题是设计时属性没有添加到紧凑框架中(我假设要减小大小)。
【讨论】:
【参考方案3】:这对你有用吗?我不参与 CF 开发,但看起来您需要添加一些 XML 元数据才能启用它:
http://blogs.msdn.com/bluecollar/archive/2007/02/08/adding-compact-framework-design-time-attributes-or-more-fun-with-textboxes.aspx
有趣的阅读.. 看起来很多设计时支持从 CF 中剥离出来,因为您没有在设备上设计它们.. 这对我来说似乎有点奇怪.. 无法想象使用手持设备作为开发平台!
向下滚动大约一半以获得好东西;)
【讨论】:
啊……这就解释了!我同意,我不明白他认为有人如何在设备上设计这个......最后我检查了没有 Visual Studio 的 Windows Mobile 版本!一定有其他原因,不管它多么愚蠢……谢谢!以上是关于用户控件属性设计器属性的主要内容,如果未能解决你的问题,请参考以下文章
如何停止 Visual Studio 为设计器中的控件生成属性设置?