从Windows Phone 8中的App.Xaml.cs到达MainPage.Xaml.cs单击处理函数

时间:2014-04-17 19:55:04

标签: c# .net winapi windows-phone-7 windows-phone-8

我要求这样做,因为当我在数据透视页面(四页)中执行可切换的应用程序栏时,我必须在app.xaml.cs中对处理程序进行硬编码?或者有办法从App.xaml.cs里面调用处理程序吗?

1 个答案:

答案 0 :(得分:0)

例如,您可以制作事件处理程序publicstatic

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元素 - 它是通用的,所以你必须将一些信息传递给它,从哪个页面调用它等等(例如,您可以使用其他一些处理程序)。但也许因为它被设计为通用,所以也许不需要这样的东西 - 一切都取决于你的应用程序。