如何关闭用户控件的初始化
本文关键字:初始化 控件 用户 何关闭 | 更新日期: 2023-09-27 18:31:22
如何防止用户控件被初始化?我想自己初始化它,而不是在初始化组件()的构造函数中?
好吧,这看起来很愚蠢,但您已经回答了您的问题; 删除对InitializeComponent()
的调用。 享受重新创建自动生成的设计器代码的乐趣!
编辑:
好的,所以根据您的编辑,我们知道您尝试解决的实际问题是什么:
感谢您的回复,但问题有点不同。这个控件不是我的(它是Windows实时控件)。我希望正确初始化页面中的所有其他控件,并且稍后应根据用户需求加载此控件(它连接到Internet,它是wp7应用程序)。如何实现这一点?
因此,您需要在运行时而不是在设计时添加控件。 这很容易做到。
var ctrl = new SomeControl();
// initialize control properties...
// this is your user control, a control within
// the user control, whatever the parent should be.
parentControl.Children.Add(ctrl);
不确定你为什么要这样做。懒惰的初始化,所以不花时间在构造上?
无论如何,创建一个公共方法并将 InitializeComponent 移到那里,也不要忘记创建一个私有字段以确保您不会初始化两次。
private bool _isInitialized;
public void InititializeControl()
{
if(_isInitialized) return;
_isInitialized = true;
InitializeComponent();
}
然后在必要的时候打电话。.