我要求这样做,因为当我在数据透视页面(四页)中执行可切换的应用程序栏时,我必须在app.xaml.cs中对处理程序进行硬编码?或者有办法从App.xaml.cs里面调用处理程序吗?
答案 0 :(得分:0)
例如,您可以制作事件处理程序public
和static
:
public static void StaticButton_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Event from App.xaml.cs!");
}
// ten at any Page you can subscribe like this:
myButton.Click += App.StaticButton_Click;
你也可以通过这样的App实例访问你的事件处理程序(只需公开你的处理程序):
public void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Event from App.xaml.cs!");
}
// then you can subscribe like this:
myButton.Click += (App.Current as App).Button_Click;
但是你必须意识到这些方法有局限性 - 你不能轻易地在这个处理程序中找到你的Page元素 - 它是通用的,所以你必须将一些信息传递给它,从哪个页面调用它等等(例如,您可以使用其他一些处理程序)。但也许因为它被设计为通用,所以也许不需要这样的东西 - 一切都取决于你的应用程序。