我不太确定如何做到这一点,因为我还从来没有需要这种模式。我正在寻找在单独的类中创建事件处理程序的正确模式,该类可以在包含事件的对象执行时自行删除。
基本上,我想创建一个EventHandler
发生在 WPF事件上的Window.Close
事件。并且,在处理程序执行期间,它会将自身从Window.Close
事件中移除。我希望这足够具体,可以继续。
另外,这种模式有特定的名称吗?
我不太确定如何做到这一点,因为我还从来没有需要这种模式。我正在寻找在单独的类中创建事件处理程序的正确模式,该类可以在包含事件的对象执行时自行删除。
基本上,我想创建一个EventHandler
发生在 WPF事件上的Window.Close
事件。并且,在处理程序执行期间,它会将自身从Window.Close
事件中移除。我希望这足够具体,可以继续。
另外,这种模式有特定的名称吗?
尝试执行以下操作:
RoutedEventHandler handlerLoad = null;
handlerLoad = delegate
{
//Do something
Window.Close -= handlerLoad;
};
Window.Close += handlerLoad;
会像以下工作吗?
public void EventHandlerSubscription_Invoked(object sender, EventArgs args)
{
_objectContainingEvent.MyEventHandler -= EventHandlerSubscription;
}
对不起,如果这不明智,我正在打字。
请详细说明您的项目的“内容”:您打算做什么。
也许您会对手动重置事件感兴趣,除非您重置它们,否则只会触发一次:http:
//msdn.microsoft.com/en-us/library/system.threading.manualresetevent.aspx