尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
WPF导航窗体+Page页面跳转 知识点整理
一、核心概念必考简答题1. Window 与 NavigationWindow 区别普通Window只能弹出新窗口不具备页面导航功能无法内嵌Page页面切换。NavigationWindow导航窗体专门用于承载 Page 页面支持页面无刷新跳转、前进后退导航。2. WPF层级关系Application应用程序 → NavigationWindow导航窗口 → Page页面一个导航窗口可以嵌套多个Page页面实现单窗口多页面切换网页式效果。二、主导航窗口 NavigationWindowMainWindow核心属性考点Sourcexxx.xaml窗口启动默认加载的第一个Page页面ShowsNavigationUIFalse隐藏系统自带的前进/后退导航箭头NavigationWindow x:Class_2导航窗体.MainWindow xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml xmlns:dhttp://schemas.microsoft.com/expression/blend/2008 xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:localclr-namespace:_2导航窗体 mc:Ignorabled SourcePages/MainPage.xaml Title导航主窗口 Height450 Width800 ShowsNavigationUIFalse !-- ShowsNavigationUIFalse 隐藏系统默认导航栏箭头 -- /NavigationWindow三、主页页面 MainPage.xaml跳转入口知识点WrapPanel自动换行布局控件横向排列自动换行TextDecorations文本装饰线样式Strikethrough删除线Underline下划线MouseLeftButtonDown文本鼠标左键按下跳转页面Page x:Class_2导航窗体.Pages.MainPage xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:dhttp://schemas.microsoft.com/expression/blend/2008 xmlns:localclr-namespace:_2导航窗体.Pages mc:Ignorabled d:DesignHeight450 d:DesignWidth800 Title主页 Grid StackPanel TextBlock FontSize20 主页面 /TextBlock WrapPanel Margin20 !-- 删除线文本点击跳转Page1 -- TextBlock ForegroundGreen FontSize18 MouseLeftButtonDownTextBlock_MouseLeftButtonDown TextDecorationsStrikethrough 跳转 Page1 /TextBlock !-- 下划线文本点击跳转Page2 -- TextBlock Margin10,0 FontSize18 ForegroundGreen MouseLeftButtonDownTextBlock_MouseLeftButtonDown_1 TextDecorationsUnderline 跳转 Page2 /TextBlock /WrapPanel /StackPanel /Grid /Page四、子页面 Page1.xaml带返回按钮Page x:Class_2导航窗体.Pages.Page1 xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:dhttp://schemas.microsoft.com/expression/blend/2008 xmlns:localclr-namespace:_2导航窗体.Pages mc:Ignorabled d:DesignHeight450 d:DesignWidth800 TitlePage1 Grid StackPanel VerticalAlignmentCenter HorizontalAlignmentCenter TextBlock FontSize22 Margin0,0,0,20 Page1 页面 /TextBlock Button ClickButton_Click Width100 Height100 BackgroundRed ForegroundWhite 返回主页 /Button /StackPanel /Grid /Page五、子页面 Page2.xaml纯展示页面Page x:Class_2导航窗体.Pages.Page2 xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentation xmlns:xhttp://schemas.microsoft.com/winfx/2006/xaml xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:dhttp://schemas.microsoft.com/expression/blend/2008 xmlns:localclr-namespace:_2导航窗体.Pages mc:Ignorabled d:DesignHeight450 d:DesignWidth800 TitlePage2 Grid TextBlock FontSize22 VerticalAlignmentCenter HorizontalAlignmentCenter Page2 页面 /TextBlock /Grid /Page六、全套后台C#导航逻辑核心考点6.1 MainPage 页面跳转后台using System.Windows; using System.Windows.Input; using System.Windows.Controls; namespace _2导航窗体.Pages { public partial class MainPage : Page { public MainPage() { InitializeComponent(); } // 跳转 Page1 private void TextBlock_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { // 导航到指定页面 this.NavigationService.Navigate(new Page1()); } // 跳转 Page2 private void TextBlock_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e) { this.NavigationService.Navigate(new Page2()); } } }6.2 Page1 返回主页后台using System.Windows; using System.Windows.Controls; namespace _2导航窗体.Pages { public partial class Page1 : Page { public Page1() { InitializeComponent(); } // 返回上一页 / 主页 private void Button_Click(object sender, RoutedEventArgs e) { // 判断是否可以返回 if (this.NavigationService.CanGoBack) { this.NavigationService.GoBack(); } } } }七、导航核心类与方法必背NavigationService页面导航核心服务类Navigate(new 页面名())跳转新页面GoBack()返回上一页CanGoBack判断是否存在上一页防止报错八、文本装饰线枚举Strikethrough删除线Underline下划线Overline上划线九、期末简答题汇总1. NavigationWindow 和 Window 的区别Window是普通窗口无法嵌套页面NavigationWindow是导航专用窗口支持Page页面跳转、导航堆栈适合单页面应用。2. NavigationService 常用方法Navigate跳转页面、GoBack返回上一页、CanGoBack判断是否可返回。3. ShowsNavigationUI 属性作用设置为False可以隐藏系统自带的前进后退箭头自定义页面导航样式。4. Page和Window区别Page无独立窗口标题栏必须依托NavigationWindow承载Window是独立顶层窗口。
RELATED

相关推荐

深渊沉积物奇古菌门宏基因组解析:从样本到功能的完整复盘

深渊沉积物奇古菌门宏基因组解析:从样本到功能的完整复盘

深渊沉积物里的奇古菌门,到底藏着什么秘密:一次宏基因组特征解析的完整复盘做微生物组研究的人大概都有这种体会:一个样本从几千米深的海底捞上来,你手里攥着的其实是整个星球上最难驯服的一管泥。深渊沉积物这个环境,…

📅 2026/10/30 6:25:00
实时渲染、离线渲染、云渲染、混合渲染选型:从约束到决策

实时渲染、离线渲染、云渲染、混合渲染选型:从约束到决策

很多人第一次接触这四个词,都是在同一个场景里:手上有个三维场景,想把画面变成图或者变成视频,然后发现面前摆着四条路——实时渲染、离线渲染、云渲染、混合渲染。大多数资料会告诉你"实时快、离线好、云渲染省钱、混合渲染…

📅 2026/10/30 6:25:00
49-常用类-Math类

49-常用类-Math类

Math 类是 Java 提供的一个 静态工具类,用于执行各种常见的数学计算操作。这个类提供了大量的方法,涉及到基础数学运算、三角函数、对数函数、概率与随机数等操作。Math 类的方法都为 静态方法,不需要实例化对象就可以直接调用。1.常用方法&a…

📅 2026/10/30 6:25:00
MORE NEWS

更多资讯

📰

OneTrans-V2:统一召回与排序的生成式检索架构落地实践

1. 从两个模块到一条链路:OneTrans-V2 到底想解决什么问题推荐系统这个行当,干了几年之后你会发现一个特别拧巴的现实:召回和排序明明是同一个目标的两段路,却硬生生被拆成了两套模型、两套特征、两套工程链路。召回阶段用双塔&am…

📰

Python根据输入参数计算结果的实例方法

前言 「根据命令行传入的参数算出结果」是脚本最朴素的形态:传两个数和一个运算符,打印算式的结果。它的价值不在计算本身,而在于演示一条清晰的流水线——取参数 → 校验 → 计算 → 输出。把这条线理顺了,脚本长大以后再接入更复…

📰

BlueField-4 STX:AI存储加速器的架构革新与应用

1. BlueField-4 STX:为Agentic AI而生的存储加速器革命在2026年GTC大会上亮相的BlueField-4 STX,标志着AI基础设施进入了一个全新阶段。这款专为Agentic AI设计的存储加速器,本质上重构了传统存储架构的运作范式——它不再是被动存放数据的仓…

📰

无人驾驶自动泊车技术:多项式规划与单步系统优化

1. 无人驾驶自动泊车技术全景解析垂直泊车作为城市驾驶的高频刚需场景,其技术实现涉及感知、决策、控制三大核心模块的深度耦合。不同于开放道路驾驶,泊车场景具有空间约束强(通常仅有车身1.2-1.5倍的操作空间)、动态障碍物多&…

📰

标准库中的设计模式活教材

Java 标准库/Android/Spring 库之所以能成为无数应用的基石,除了功能完备之外,一个常被忽视却至关重要的原因在于:它的设计本身就是设计模式最经典的“活教材”。GoF 的 23 种模式并非纸上谈兵,在 java.lang、java.util、java.io …

📰

AI如何革新工程管理:从知识图谱到智能决策

1. 项目概述:当AI遇上工程管理在建筑工地现场,项目经理小王正对着堆积如山的进度报表发愁。突然,他的手机弹出一条通知:"B3区域混凝土浇筑延误2小时,建议调整塔吊使用顺序和钢筋工班次"。这条精准预警来自他…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬