代码之家  ›  专栏  ›  技术社区  ›  citronas

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

  •  0
  • citronas  · 技术社区  · 14 年前

    我有一个包含DropDownList和ObjectDatasource的用户控件。该控件用于我的母版页的标记。

    在使用该母版页的ContentPage的设计器中,我可以看到DropDownList和ObjectDatasource。自己看看。

    我知道其他控件(如componentart:grid)只将自身显示为外部容器并隐藏内部控件。

    我想这在某种程度上是可以通过属性实现的。我必须设置哪一个?

    在使用该母版页的ContentPage的设计器中,我可以看到DropDownList和ObjectDatasource。你自己看看。
    alt text

    我知道其他控件(如componentart:grid)只将自身显示为外部容器并隐藏内部控件。

    我想这在某种程度上是可以通过属性实现的。我必须设置哪一个?

    3 回复  |  直到 10 年前
        1
  •  1
  •   sisve    14 年前

    我猜您所引用的控件componentart:grid ControlDesigner 它可以做任何事情,包括设计时可编辑区域和自定义操作菜单(与右上角的箭头关联的菜单)。

    但是,Visual Studio不会[上次尝试]为用户控件执行控件设计器,因此您无法轻松控制它。在UserControlDesigner的后台有很多神奇的事情发生,包括解析HTML代码。但是,我从未见过代码隐藏文件的实际编译,在这里将指定controlDesigner属性。

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

        2
  •  1
  •   orj    14 年前

    我不太熟悉网络表单,但是 BrowsableAttribute 可能是你想要的。也可以看看 DesignTimeVisibleAttribute .

    这个 System.ComponentModel namespace 有许多其他属性可以满足您的需要。

        3
  •  0
  •   atlaste    10 年前

    Visual Studio不支持此功能。当你指定“用户控制”这个词的时候,这个词就会被包围并呈现你在上面的所有内容。

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