【问题标题】:Windows 10 Universal App VB.NET Passing data between pagesWindows 10 Universal App VB.NET 在页面之间传递数据
【发布时间】:2026-02-04 10:40:01
【问题描述】:

我发现VB.NET中页面之间的导航是这样调用的:

Frame.Navigate(GetType(MainPage))

根据我的阅读,您可以传递这样的参数:

Frame.Navigate(GetType(MainPage), "Parameter Here!!")

问题是,我无法进入其他页面。在 C# 中查找许多示例我发现它可能使用以下方法之一。虽然,这些似乎都没有在 VS2015 中被识别

 Protected Overrides Sub LoadState(navigationParameter As Object, pageState As Dictionary(Of String, Object))

 Protected Overrides Sub onNavigateTo(**Params**)

^^ 他们都声明“......在基类中没有覆盖子”

如何在新出现的页面中接收参数?是完全不同的方法吗?

【问题讨论】:

    标签: vb.net xaml win-universal-app


    【解决方案1】:

    在深入研究了所有页面都继承自的 Page 类之后,似乎覆盖“onNavigateTo”Sub 是此操作的关键。从这里您可以访问其参数并成功通过。 不幸的是,甚至微软也没有为此提供 VB.NET 文档。这是我的代码:

    在第一页

    Frame.Navigate(GetType(BlankPage1), "Hello")
    

    在第二页

     Public NotInheritable Class BlankPage1
            Inherits Page
            Public thestring As String
    
        Protected Overrides Sub onNavigatedTo(e As NavigationEventArgs)
            thestring = e.Parameter
    
        End Sub
    

    这成功了。我希望这对未来的人们有所帮助

    【讨论】: