Windows Phone从不同的类添加eventhandler

时间:2013-09-12 08:52:48

标签: c# windows-phone-7 event-handling

使用此代码,我将一个eventhandler添加到RootFrame.Obscured。

(Application.Current as App).RootFrame.Obscured += onObScured;

由于可以从应用程序中的每个类访问RootFrame,如果我从不同的类添加不同的事件处理程序会发生什么? 例如:

class A{
    (Application.Current as App).RootFrame.Obscured += onObScuredA;

    private void onObScuredA(object sender, ObscuredEventArgs e) {
        //Some code here
    }
}

class B{
    (Application.Current as App).RootFrame.Obscured += onObScuredB;

    private void onObScuredB(object sender, ObscuredEventArgs e) {
        //Some other code here
    }
}

当触发事件时,如果已经创建了A和B的实例,是否会触发onObScuredA()和onObScuredB()? 是正确的方法,在App.xaml.cs类中添加事件处理程序及其各自的方法,以便我可以确定添加了哪些事件处理程序?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以根据需要在事件中添加任意数量的事件处理程序,它们都将被调用。这就是事件的本质,当它们触发时,所有事件处理程序都会处理此事件。

所以,答案是“他们俩都会被触发”。现在,这可能是您想要的,也可能不是,但添加新的事件处理程序不会取代以前的事件处理程序。

详细了解MSDN:Handling and Raising Events