吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

Silverlight - 用户控件与设计时(Design Time)错误

用Blend 或VS 2010的设计视图打开一个用户控件,如果出现错误(最常见的是空引用错误),而debug时程序运行正常,那很可能是由于设计时的一些限制造成控件无法在设计器中正常打开。如何避免呢?通过 System.ComponentModel.DesignerProperties.IsInDesignTool 判断当前状态是否是设计时,在设计时避免构造函数与Loaded事件处理方法中执行那些代码即可,例如:

public partial class ProductsView : UserControl 
{
    public  ProductsView() {
        InitializeComponent();

        if (!DesignerProperties.IsInDesignTool) {

            //call web services etc.
        }
    }
}

此外,设计时访问Applicaiton 或者App也会出错,因为它们在设计时始终为null.

posted on 2011-11-23 13:27  _eagle  阅读(241)  评论(0编辑  收藏  举报