使用此代码,我将一个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类中添加事件处理程序及其各自的方法,以便我可以确定添加了哪些事件处理程序?
感谢。
答案 0 :(得分:1)
您可以根据需要在事件中添加任意数量的事件处理程序,它们都将被调用。这就是事件的本质,当它们触发时,所有事件处理程序都会处理此事件。
所以,答案是“他们俩都会被触发”。现在,这可能是您想要的,也可能不是,但添加新的事件处理程序不会取代以前的事件处理程序。
详细了解MSDN:Handling and Raising Events。