1

在我的 MainPage.xaml 中,我有一个 SplitView,它在一个框架内加载许多页面,该框架是在它的 SlplitView.Content 中创建的。

我在 MainPage 的变量中有数据,需要根据单击的 ListBoxItem 将这些数据发送到加载到我的 SplitView 内容框架中的每个页面。

同样在当前页面中,我可能必须在加载新页面之前更新 MainPage 的变量。

我怎样才能做到这一点?有没有办法声明一个全局变量?我可以将该信息从一个页面传输到另一个页面,以更新它在父页面上的值吗?

4

2 回答 2

4

我认为您可以在 App.xaml.cs 的 App Class 中声明一个公共静态变量,并在应用程序的任何页面中使用它。

在 App.xaml.cs 中:

sealed partial class App : Application
{
    ...
    public static string MyTestVar { get; set; }
    ...
}

在 MainPage.xaml.cs 中:

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        App.MyTestVar = "world";
    }
}

对于其他一些情况,例如实现设置页面,您可以检查Store 并检索设置和其他应用程序数据

于 2015-12-15T14:01:31.727 回答
1

作为最后一个答案的补充,我通过在“App.xaml.cs”中声明一个内部静态变量来解决我的问题。

internal static string foo = "";

然后访问它我使用:

App.foo = "my string";

还有一种更优雅的方式来保留和恢复页面数据(这是我需要的),如下所示:https ://msdn.microsoft.com/pt-br/library/windows/apps/ff967548%28v= vs.105%29.aspx

于 2015-12-15T14:46:18.227 回答