c# - 更改已附加的事件处理程序运行时

标签 c# silverlight windows-phone-7

我已经动态创建了一个 TextBox 并使用以下方法将 Tap 事件处理程序附加到它:

control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick1);

它工作正常。但是,现在我想更改事件处理程序以指向一些不同的方法。我试过:

control.Tap += new EventHandler<System.Windows.Input.GestureEventArgs>(OnClick2);

但是,它仍然指向第一个事件处理程序。即 OnClick1。我该怎么做才能让它指向 OnClick2?还有没有办法完全删除这个事件处理程序?

最佳答案

您需要先删除第一个处理程序:

control.Tap -= OnClick1;
control.Tap += OnClick2;

(请注意方法组转换的使用更简单,而不是显式创建事件处理程序。它做同样的事情,但可读性更高。)

关于c# - 更改已附加的事件处理程序运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8225865/

相关文章:

c# - DataGridView DataBindingComplete 事件的替代方案

silverlight - WCF + Silverlight + HttpContext.Current.Session为空

c# - 将 Google map 与 Xamarin Android 结合使用

c# - 在没有 visual studio 的情况下使用 WIX

c# - 按软键盘的回车键时将焦点从一个文本框移到另一个文本框

wpf - 来自 MVVM 的服务调用

windows-phone-7 - 在 WP7 中强制调用

c# - 绑定(bind)/绑定(bind)两个 LongListSelectors 的滚动位置

css - 防止在 Windows Phone 7 浏览器上进行页面平移

c# - 如何从 url 中检索 Json 作为字符串?