You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP Visual Basic .NET中如何显示自定义页面?

UWP中显示自定义HelpPage页面的解决方案

UWP的页面机制和WPF不同,WPF的Window类自带Show/ShowDialog方法,但UWP的Page类没有这些成员,所以你之前的WPF代码无法直接复用,以下是几种可行的实现方式:

方式一:在当前窗口导航到HelpPage(最常用)

如果你的应用是基于Frame导航架构(默认UWP项目都是这种结构),可以直接通过Frame导航到HelpPage:

' 获取应用的根Frame
Dim rootFrame As Frame = CType(Window.Current.Content, Frame)
' 导航到HelpPage
rootFrame.Navigate(GetType(HelpPage))

' 如果是在某个页面内部调用,也可以直接用当前页面的Frame
' Me.Frame.Navigate(GetType(HelpPage))

方式二:以对话框形式弹出HelpPage

如果需要类似WPFShowDialog的模态弹出效果,可以将HelpPage嵌入到ContentDialog中:

' 需要将方法标记为Async,因为ShowAsync是异步方法
Async Sub ShowHelpDialog()
    Dim helpDialog As New ContentDialog()
    ' 将HelpPage设置为对话框内容
    helpDialog.Content = New HelpPage()
    ' 设置对话框的关闭按钮
    helpDialog.PrimaryButtonText = "关闭"
    ' 显示对话框
    Await helpDialog.ShowAsync()
End Sub

方式三:创建独立新窗口显示HelpPage

如果需要完全独立的窗口(类似WPF的新Window),可以通过CoreApplication创建新视图:

' 同样需要Async标记
Async Sub ShowHelpInNewWindow()
    Await Windows.ApplicationModel.Core.CoreApplication.CreateNewView().Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, Sub()
        Dim newFrame As New Frame()
        newFrame.Navigate(GetType(HelpPage))
        Window.Current.Content = newFrame
        Window.Current.Activate()
        ' 设置新窗口标题
        Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().Title = "帮助页面"
    End Sub)
End Sub

内容的提问来源于stack exchange,提问作者Isaac Tenorio Londoño

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:06:06