我正在研究Microsoft的一些C#示例,主要是MainPage.xaml.cs文件。在该文件中,一些事件引起了我的注意:MainPage_SizeChanged
和Scenarios_SelectionChanged
。
这两个事件都在构造函数中注册。还声明了两个事件处理程序区域:
public event System.EventHandler ScenarioLoaded;
public event EventHandler<MainPageSizeChangedEventArgs> MainPageResized;
它们用于这些方法:
void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)
{
InvalidateSize();
if (MainPageResized != null)
{
MainPageSizeChangedEventArgs args = new MainPageSizeChangedEventArgs();
args.ViewState = ApplicationView.Value;
MainPageResized(this, args);
}
}
void Scenarios_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (Scenarios.SelectedItem != null)
{
NotifyUser("", NotifyType.StatusMessage);
ListBoxItem selectedListBoxItem = Scenarios.SelectedItem as ListBoxItem;
SuspensionManager.SessionState["SelectedScenarioIndex"] = Scenarios.SelectedIndex;
Scenario scenario = selectedListBoxItem.Content as Scenario;
LoadScenario(scenario.ClassType);
InvalidateSize();
if (ScenarioLoaded != null)
{
ScenarioLoaded(this, new EventArgs());
}
}
}
查看文件中没有注册ScenarioLoaded
和MainPageResized
的位置。那么谁负责注册以及注册地点?