.net wpf在页面之间传递数据

时间:2019-10-29 23:38:54

标签: .net wpf

我需要在页面之间传递参数,但需要使用Pack URI(https://docs.microsoft.com/en-us/dotnet/framework/wpf/app-development/navigation-overview#programmatic-navigation-with-a-pack-uri)进行程序化导航

注意:我不想使用构造函数来传递参数

目前我正在这样做:

 Uri uri = new Uri("AnotherPage.xaml", UriKind.Relative);
        this.NavigationService.Navigate(uri, parameter);

但是微软再次忘记在另一个页面上举一个如何接收数据的例子。

我在第二页尝试此操作以接收参数:

private void Page_Loaded(object sender, RoutedEventArgs e)
    {
        NavigationService.LoadCompleted += NavigationService_LoadCompleted;
    }

    private void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
    {
        throw new NotImplementedException();
    }

但是它不起作用。

在这篇文章(How to pass values (parameters) between XAML pages?)中第二点使用

示例: 2.使用NavigationEventArgs

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    // NavigationEventArgs returns destination page
    Page destinationPage = e.Content as Page;
    if (destinationPage != null) {

        // Change property of destination page
        destinationPage.PublicProperty = "String or object..";
    }
}

但是 OnNavigatedFrom 不存在

在本文中,请使用全局变量,例如(How to pass values between two pages in WPF

string myText = (string)Application.Current.Properties["test"];

如果没有更好的方法,也许这就是解决方案

此处(Passing data between pages in wpf)没有示例

我不知道我可能缺少有关WPF导航(https://docs.microsoft.com/en-us/dotnet/framework/wpf/app-development/navigation-overview)的信息,有人可以向我指出正确的方向吗?还是我只是在浪费时间,这是不可能的。

对不起我的英语,我不会说

0 个答案:

没有答案