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

本文介绍了解决用户控件在Blend或VS2010设计视图中出现空引用错误的方法。通过使用System.ComponentModel.DesignerProperties.IsInDesignTool属性判断当前环境是否处于设计时,并在设计时避免执行特定代码,如调用Web服务等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值