SilverLight的设计时,是会执行所加载的控件的构造函数和Load函数,如果这些构造函数和Load函数中包含了一些设计时无法正常执行的代码,比如访问了数据库资源,进行了访问权限验证等等,设计时预览窗口就会出现错误,不能正常显示。
下面的Code可以判断当前代码段执行时,是否处于设计时状态,希望你能避免某些代码段在设计时被执行,让预览窗口正常显示。
// Check for design mode. if ((bool)(DesignerProperties.IsInDesignModeProperty.GetMetadata(typeof(DependencyObject)).DefaultValue)) { return false; }