{ cli.GetAllProductsCompleted += new EventHandler(cli_GetAllProductsCompleted);
cli.GetAllProductsAsync(); } 然后定义eventHandler: voID cli_GetAllProductsCompleted(object sender,GetAllProductsCompletedEventArgs e)
{
} 如果你把上面的代码放在一个XAML用户控件的Loaded事件中,并且在另一个XAML页面中应用了这个控件,那么上面的绑定事件代码,就会在每次触发Loaded事件时运行,后果是当你触发上面的事件就会产生N++次的eventHandler,这会使你的事件进入一个排队状态,同时你的Silverlight2应用程序也会变得越来越慢. 正确的方法是在用户控件的构造函数里声明事件: pubic Page()
{ InitializeComponent();
cli.GetAllProductsCompleted += new EventHandler(cli_GetAllProductsCompleted);
cli.GetAllProductsAsync(); } 这样控件的eventHandler永远只会绑定一次,即使你重新实例化这个对象,它那的构造函数只会执行一次. 总结
以上是内存溢出为你收集整理的Silverlight 2 学习笔记之事件的重复绑定问题全部内容,希望文章能够帮你解决Silverlight 2 学习笔记之事件的重复绑定问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)