在WinForm开发中,一般会在窗体或者UserControl中判断当前是否为设计状态,如:
if (!this.DesignMode)
{
//TODO
}
有时候需要在Load事件中加上一些从服务端获取数据的操作,如果此时是一个UserControl,当把这个UserControl加入到主窗体时,界面(设计状态的界面)就会无法显示,当然能编译通过,正常运行,但是在设计时没有一个直观的界面和无法对界面进行布局还是一件很不爽的事情,所以用这个DesignMode属性来判断当前是否为设计(Designer)模式,如果是设计模式就不需要从服务端获取数据,这样避免在主界面无法显示的问题.
相同的问题再WPF也会存在,也需要在WPF的UserControl中判断当前是否为设计模式,如下:
private voidUserControl_Loaded(objectsender, RoutedEventArgse)
{
if(!DesignerProperties.GetIsInDesignMode(this))
{
//TODO
}
}
这样就能防止在开发设计时无法显示界面的问题了