[英]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.