`

WPF导航在page中的实现方法

 
阅读更多

WPF导航的实现方法有很多种。我们在文章中通过各种代码示例为大家详细介绍了这些方法的具体操作步骤,希望对大家有所帮助。

AD: 51CTO云计算架构师峰会 抢票进行中!

 

WPF中的有许多功能还需要我们在实际开发中去慢慢的体会其用法,以此来总结自己的使用技巧。在这里我们就先来了解下WPF导航的一些实现方法。

 

首先WPF导航在Page页中加一个< Hyperlink>的标签,再添中一个Click事件,指向后台处理程序。如下:

 

  1. < Hyperlink Click="
    hyperlink_Click"
    >你好< /Hyperlink>  

在.cs文件中,需要引入 using System.Windows.Navigation命名空间

然后处理事件,也就是WPF导航主体了。

 

  1. void hyperlink_Click
    (object sender, Routed
    EventArgs args)   
  2. {  
  3.  

 

有四种WPF导航方法(事例中是由当前页向Page4导航),如下:

1、

 

  1. Page4 page = new Page4();  
  2. NavigationService ns =  NavigationService.GetNavi gationService(this);  
  3. ns.Navigate(page); 

 

2、

 

  1. NavigationService ns =  NavigationService.GetNavi gationService(this);  
  2. ns.Source = new Uri ("Page4.xaml", UriKind. Relative); 

 

3、

 

  1. NavigationService ns =  NavigationService.GetNavi gationService(this);  
  2. ns.Content = new Page4(); 

 

4、
 

  1. Page4 page = new  Page4();   
  2. this.NavigationService. Navigate(page); 

 

5、

  1. this.Navigation Service.Refresh();//导航到本页 

如果想缓存浏览过的页面可以在Page头中设置:

 

  1. < Page 
  2. x:Class="BrowserApp" 
  3. xmlns="http://schemas.microso ft.com/winfx/2006/xaml/ presentation" 
  4. xmlns:x="http://schemas. microsoft.com/winfx/2006/xaml" 
  5. WindowTitle="Page3"   
  6. KeepAlive="True">   
  7. < /Page> 

 

如果想减少内存的开销,可以使用这个WPF导航方法(注意文中黑体字):

 

  1. public static readonly  DependencyProperty RetainedStateDP;  
  2. using System;  
  3. using System.Windows;  
  4. using System.Windows.Controls;  
  5. using System.Windows.Navigation;  
  6. public partial class RetainedState DPPage : System.Windows.Controls.Page  
  7. {  
  8. public static readonly  DependencyProperty RetainedStateDP;  
  9. static RetainedStateDPPage()  
  10. {  
  11. RetainedStateDPPage.RetainedStateDP =  
  12. DependencyProperty.Register(  
  13. "RetainedState",  
  14. typeof(string),  
  15. typeof(RetainedStateDPPage),  
  16. new FrameworkPropertyMetadata(  
  17. null,  
  18. FrameworkPropertyMetadata Options.Journal));  
  19. }  
  20. public RetainedStateDPPage()  
  21. {  
  22. InitializeComponent();  
  23. }  
  24. public string RetainedState  
  25. {  
  26. get  
  27. {  
  28. return (string)base.GetValue (RetainedStateDPPage.RetainedStateDP);  
  29. }  
  30. set  
  31. {  
  32. base.SetValue(RetainedStateDPPage. RetainedStateDP, value);  
  33. }  
  34. }  
分享到:
评论

相关推荐

    WPF多页面Page导航实例

    本实例主要关注如何使用WPF中的Frame控件来实现在多个Page之间进行切换,这在构建复杂的用户界面时非常有用。WPF是.NET Framework的一部分,提供了一套强大的工具来设计和构建桌面应用程序。 首先,让我们深入了解...

    WPF 实现导航通过Frame的Navigate函数实现导航

    这个简单的例子展示了如何在WPF中使用`Frame`的`Navigate`方法和`NavigationUIVisibility`属性实现无UI导航。对于初学者,这是一个很好的起点,可以帮助理解WPF中页面导航的基本工作原理。通过深入学习和实践,你...

    WPF中Window与Page相互调用示例

    在Windows Presentation Foundation (WPF) 中,Window和Page是两种常用的设计元素,分别代表独立的窗口和可导航的页面。...在AppDemo项目中,你可以找到更多关于WPF导航框架的实践示例,以便进一步学习和探索。

    WPF极简NavBar(导航栏),源码可以直接运行

    在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 中实现一个极简风格的NavBar(导航栏)。首先,让我们了解WPF的基本概念。WPF是.NET Framework的一部分,用于构建桌面应用程序,它提供了丰富...

    简单WPF左侧导航框

    在“简单WPF左侧导航框”中,TabControl被定制以实现类似侧边栏的导航效果,这通常意味着Tab项可能被布局在屏幕的左侧,而不是顶部,从而提供一种更加现代化和直观的用户体验。 **界面框架** 一个界面框架是一组...

    WPF page界面跳转

    本文将深入探讨“WPF页面界面跳转”这一主题,结合提供的文件列表,我们将分析如何在WPF应用中实现多个窗口和页面之间的导航。 1. **WPF界面设计** WPF允许开发者使用XAML(Extensible Application Markup ...

    WPF的Window窗口与Page页相互调用demo

    本示例将探讨如何在WPF中实现Window窗口与Page页之间的相互调用,构建一个简单的导航框架。 首先,了解Window和Page的基本概念: 1. **Window**: WPF中的顶级窗口,它可以包含多个元素,如ContentControl、Canvas等...

    WPF导航page演示实例

    WPF实现page页面导航跳转演示实例 private void NavigationWindow_Navigating(object sender, NavigatingCancelEventArgs e) { if (Content != null && !_allowDirectNavigation) { e.Cancel = true; _navArgs ...

    WPF MVVM Page 页面导航实例

    在WPF中,页面导航通常涉及到`Frame`控件和`Page`类。`Frame`是一个容器,它可以加载和显示多个`Page`对象。以下是一些关键概念: 1. **NavigationService**:WPF提供了`INavigationService`接口,允许你在程序中...

    WPF 实现TabControl 中动态添加选项卡、动态添加Frame

    下面我们将详细探讨如何在WPF中实现这一功能。 首先,我们需要理解`TabControl`的基本结构。`TabControl`由一系列的`TabItem`组成,每个`TabItem`代表一个选项卡,包含一个标题和内容区域。内容区域通常承载一个...

    WPF页面导航例子

    在WPF中,页面导航是一个关键特性,用于构建多视图应用程序,使得用户可以在不同的内容之间轻松地浏览和切换。本篇文章将深入探讨WPF页面导航的实现方式及其相关知识点。 **1. 页面导航概述** 在WPF中,页面导航...

    C#WPF窗体在同一个位置实现不同页面切换

    在WPF中实现页面切换,有几种常用的方法: 1. **使用Frame控件**: Frame控件是WPF内置的导航控件,它可以加载并显示Page对象。在XAML中,我们在Window中添加一个Frame,并通过其`Source`属性来指定初始显示的Page...

    WPF 侧边导航 UI框架

    WPF导航概念 WPF提供了多种导航技术,包括页面导航、控件导航和MVVM(Model-View-ViewModel)模式。页面导航使用Page类实现,允许用户在多个独立的页面之间跳转;控件导航则是通过嵌入到同一个窗口中的多个控件来...

    WPF控件frame导航demo

    总之,WPF中的`Frame`控件是实现多页面应用的核心组件,通过它我们可以轻松地在多个Page之间进行导航。结合Visual Studio的开发环境,可以方便地创建和管理这些Page,从而提升用户体验。在实际项目中,开发者可以...

    WPF中PageFounction导航能使用线程和带参构造器

    在WPF中,Page是用于展示用户界面的主要组件,而PageFounction则是Page的一种扩展,它通常用于实现特定功能或任务。通过PageFounction,我们可以创建一个具有自定义逻辑和状态的页面,然后在应用程序的导航栈上进行...

    WPF 导航示例直接能用

    在WPF中,导航可以通过多种方式实现,如Page、Frame、Window等。Page类用于表示独立的视图或页面,而Frame是容器控件,可以用来承载和导航到多个Page。此外,NavigationWindow是WPF中的一个特殊窗口,它可以提供类似...

    WPF page淡入淡出效果

    在调用`NavigationService.Navigate`方法时,先触发当前Page的淡出动画,待动画完成后再导航到新的Page,新Page加载时启动淡入动画。 ```csharp private async void Button_Click(object sender, RoutedEventArgs e...

    WPF 分页DataGrid 分页控件的实现

    本文将详细介绍如何在WPF中使用C#实现DataGrid的分页功能。 首先,我们需要理解WPF DataGrid的基本用法。DataGrid通常与ObservableCollection或ICollectionView一起使用,以动态显示数据源中的数据。...

    WPF page 使用

    在Windows Presentation Foundation(WPF)中,Page是一个重要的UI组件,用于构建窗口内的导航界面或独立的对话框。本文将深入探讨WPF Page的使用,包括它的基本概念、创建过程、布局管理、导航机制以及与其它组件的...

    wpf相互调用传递参数

    本篇文章将详细探讨如何在WPF中实现这样的功能。 首先,我们要理解WPF应用程序的基本结构。WPF是.NET Framework的一部分,它提供了丰富的用户界面元素和强大的数据绑定机制。一个WPF应用通常由XAML文件定义视图,而...

Global site tag (gtag.js) - Google Analytics