UserControl的构造函数执行一次,UserControl_Loaded事件执行两次
public partial class U3DDisplay : UserControl
{
...
public U3DDisplay()
{
InitializeComponent();
MyLog.WriteU3dLog("U3DDisplay构造函数执行");
}
...
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
MyLog.WriteU3dLog("U3DDisplay UserControl_Loaded执行");
Load3d();
...
}
...
查看log发现,偶尔会有构造函数执行一次,Loaded执行两次.
求解.
程序思路如下:
主界面上一个grid,一排button,点一个button,
判断grid的children里头没有对应的UserControl对象.
若有,则uc对象的visible设显示,其他children隐藏;
若无,则new一个对应的UserControl对象,加到grid的children里头显示,其他的child隐藏.
这是日志,UserControl_Loaded偶尔会连续执行两次:
U3DDisplay构造函数执行 2013-07-09 13:13:04
U3DDisplay UserControl_Loaded执行 2013-07-09 13:13:04
U3DDisplay UserControl_Loaded执行 2013-07-09 13:13:04