繁体   English   中英

如何在设计器中隐藏UserControl的内部控件?

[英]How to hide the inner controls of a UserControl in the Designer?

我有一个包含DropDownList和ObjectDataSource的UserControl。 该控件用于我的MasterPage的标记中。

在使用该母版页的ContentPage的设计器中,我可以看到DropDownList和ObjectDataSource。 你自己看。
替代文字

我知道其他控件(例如ComponentArt:Grid)仅将其自身显示为外部容器,并隐藏内部控件。

我想这可以通过某种方式实现。 我必须设置哪些?

我对WebForms不太熟悉,但是BrowsableAttribute可能正是您想要的。 还要看看DesignTimeVisibleAttribute

System.ComponentModel命名空间具有许多其他属性,这些属性可能会满足您的需求。

我猜您所引用的控件ComponentArt:Grid具有关联的ControlDesigner ,该控件可以执行任何操作,包括设计时可编辑区域和自定义操作菜单(与右上角的箭头相关联的菜单)。

但是,Visual Studio [上次尝试]不执行UserControls的控件设计器,因此您不能轻松地控制它。 UserControlDesigner的后台发生了很多魔术,包括解析html代码。 但是,我从未见过代码隐藏文件的实际编译,该文件将在其中指定ControlDesigner属性。

您将需要将控件重写为Visual Studio的服务器控件,以检查属性,并允许自定义设计时视图。

Visual Studio不支持此功能。 一旦您指定了“用户控件”一词,事情就会一发不可收拾,并呈现您放置在上面的所有内容。

幸运的是,您可以影响服务器控件的呈现方式。 换句话说,您可以利用它来欺骗Visual Studio设计器。 您需要的代码可以在这里找到: http : //www.codeproject.com/Tips/773145/Hiding-contents-in-ASP-Net-user-control-designer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM