繁体   English   中英

使用.Net UserControl设计问题

[英]Design problems with .Net UserControl

我创建了一个UserControl,里面有一个ListView ListView可通过属性公开访问。 当我将UserControl放在一个表单中并尝试通过属性设计ListViewListView保持这种状态,直到我再次编译并恢复到默认状态。

如何让我的设计更改坚持ListView

您需要使用DesignerSerializationVisibility属性修饰ListView属性,如下所示:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ListView MyListView { get { return this.listView1; } }

这告诉设计者的代码生成器为它输出代码。

Fredrik是正确的,基本上,当您需要启用设计器将属性保持为页面时,可以在运行时对其进行实例化。 只有一种方法可以做到这一点,那就是将其值写入ASPX页面,然后运行时将其选中。

否则,控件将每次都简单地恢复到其默认状态。

始终牢记在页面(及其内容)和代码在ASP.NET中完全独立,它们在运行时被连接起来。 这意味着您不会像在WinForms应用程序中那样获得良好的代码隐藏设计器支持(其中表单是对象的实例)。

就这样我很清楚,你做过这样的事,对吧?

public ListView MyListView { get { return this.listView1; } }

那么您是否正在(在设计时)访问UserControl上的MyListView属性?

我想如果您需要适当的设计时支持,最好将ListView本身(返回原始UserControl)上的“Modifier”属性更改为Public - 这样您就可以直接在UserControl的实例上修改ListView。 无论如何,我已经取得了成功。

暂无
暂无

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

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