首页 > 其他分享 >04 Frame控件和跳转

04 Frame控件和跳转

时间:2023-12-06 09:55:51浏览次数:21  
标签:控件 Navigate Frame 跳转 导航 frame

04 Frame控件和跳转

Frame控件

Frame 是一个内容控件,提供导航到和显示内容的功能。 Frame 可以托管在其他内容中,就像其他控件和元素一样。

常用属性

  • Source 设置该控件显示哪个资源,内容可以是任何类型的.NET Framework对象和 HTML 文件。 但是,一般情况下,页面是打包内容以用于导航 (查看 Page) 的首选方式

  • NavigationUIVisibility 设置是否展示导航菜单

常用事件

通过以下事件跟踪导航的生命周期

  • Navigating:请求新导航时发生。
  • Navigated:找到导航的目标内容且可通过 Content 属性得到这些内容时发生,即使尚未加载完毕也是如此
  • NavigationProgress:在下载过程中定期发生,用于提供定位进度信息。
  • NavigationFailed:在导航到所需内容的同时遇到错误时发生。
  • NavigationStopped:在调用 StopLoading() 方法时发生,或者在当前导航正处于进行过程中时又请求一个新导航时发生。
  • LoadCompleted:当已加载、分析并开始呈现目标导航内容时发生。
  • FragmentNavigation:在开始导航到内容片段时发生,如果所需片段位于当前内容中,则立即发生;如果所需片段位于不同的内容中,则发生在加载源 XAML 内容之后。

编程式导航

经常会需要在窗体中控制它的跳转,就需要使用编程式导航。代码跳转的方式有两种,一种是直接操作Frame​的source​属性,另一种是调用Frame​的Navigate​方法。

操作source属性

// UriKind:枚举,表示Uri的格式;RelativeOrAbsolute|Absolute|Relative
// 跳转网络路径
this.frame.Source = new Uri("https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.controls.frame?view=windowsdesktop-6.0",UriKind.Absolute);
this.frame.Source = new Uri("./MyPage.xaml", UriKind.Relative);

调用Navigate跳转

this.frame.Navigate(new Uri("./MyPage.xaml", UriKind.Relative)); // 异步导航到由指定的内容统一资源标识符 (URI)。
this.frame.Navigate(new MyPage()); // 异步导航到包含在某个对象的内容。

// 3. 使用 Navigate 跳转,携带参数
MyPage myPage = new MyPage(StudentName); // 向MyPage传递参数
this.frame.Navigate(myPage,"12345");     // 页面跳转传参(我在LoadCompleted事件中接收的)


// 绑定Frame的LoadCompleted事件
private void Frame_LoadCompleted(object sender, NavigationEventArgs e)
{
    Console.WriteLine("当已加载、分析并开始呈现目标导航内容时发生。");
    object obj = e.ExtraData;
    if (obj != null)
    {
        Console.WriteLine(obj.ToString());
    }
}

使用Hyperlink进行跳转,Hypelink控件的NavigateUri属性会自动转换为Uri对象,给控件绑定事件如下即可

  Hyperlink hyperlink = (Hyperlink)sender;
  frame.Navigate(hyperlink.NavigateUri);

标签:控件,Navigate,Frame,跳转,导航,frame
From: https://www.cnblogs.com/laoguonana/p/04-frame-control-and-jump-z2tnyrk.html

相关文章

  • Tomcat-idea使用tomcat创建web项目-跳转网页出现乱码
    Tomcat-idea使用tomcat创建web项目-跳转网页出现乱码:1..jsp内的中文跳转网页后出现以下情况:2. 看下图内容是否缺少重要内容:  若没有:将代码copy进.jsp此处: <%@pagecontentType="text/html;charset=UTF-8"language="java"%>   这是解决方式......
  • 在WPF应用中使用GongSolutions.WPF.DragDrop实现列表集合控件的拖动处理
    WPF应用中,控件本身也可以通过实现事件代码实现拖动的处理,不过如果我们使用GongSolutions.WPF.DragDrop来处理,事情会变得更加简单轻松,它支持很多控件的拖动处理,如ListBox,ListView,TreeView,DataGrid等源自ItemsControl的控件,本篇随笔介绍在工作流模块中拖动TreeView和DataGrid......
  • 设置jupyter中DataFrame的显示限制方式
    jupyter中显示的DataFrame过长时会自动换行(print()显示方式)或自动省略(单元格最后一行直接显示),在一些情况下看上去不是很方便,可调节显示参数如下:importpandasaspdpd.set_option('display.width',500)#设置整体宽度pd.set_option('display.height',500)#设置整体高......
  • 界面控件DevExpress WPF导航组件,助力升级应用程序用户体验!(上)
    DevExpressWPF的SideNavigation(侧边导航)、TreeView、导航面板组件能帮助开发者在WPF项目中添加Windows样式的资源管理器栏或OutlookNavBar(导航栏),DevExpressWPFNavBar和Accordion控件包含了许多开发人员友好的功能,专门设计用于帮助用户构建极佳的应用功能。P.S:DevExpressWPF......
  • WPF 选项卡 控件 美化
    WPF选项卡控件美化效果: 样式<LinearGradientBrushx:Key="TabItem.Selected.BordernCjh"StartPoint="0,0"EndPoint="0,1"><GradientStopColor="#FFE8A6"Offset="0.07"/><GradientStopColor=&......
  • WPF应用开发之控件动态内容展示
    在我们开发一些复杂信息的时候,由于需要动态展示一些相关信息,因此我们需要考虑一些控件内容的动态展示,可以通过动态构建控件的方式进行显示,如动态选项卡展示不同的信息,或者动态展示一个自定义控件的内容等等,目的就是能够减少一些硬编码的处理方式,以及能够灵活的展示数据。本篇随笔通......
  • WPF 控件驱动控件 及 数据驱动控件(双向绑定)
    wpf双向绑定十年河东,十年河西,莫欺少年穷学无止境,精益求精最近在知乎,看了很多提问,涉及到就业,裁员,经济等,不看不知道,越看越头疼,知乎上很多人提问毕业生就业如何难,2023年裁员如何严重,35岁的中年危机,程序员被裁员后找不到工作该,经济如何差等话题哎,这让我这个35......
  • 极语言3-15 Win32编程常用函数-公用图形库,图面说明类、颜色控件类、伽玛渐变类——成
    Win32编程常用函数-公用图形库中文名称英文名称示例作用图驱创建DirectDrawCreate图驱创建(标识,@接口,0)创建DirectDraw对象的实例。标识用设备GUID为硬件加速,用0为仿真;1模拟硬件支持;2纯仿真无硬件;成功返回0;图驱个例DirectDrawCreateClipper图驱个例(0,@接口,0)创建不与Direc......
  • 如何将 sap.ui.Table 控件的背景设置成透明
    笔者曾经写过一篇文章,介绍了如何在SAPUI5应用里设置背景图片:下图1是背景图片,图2是把这个背景图片加到SAPUI5应用之后的效果。https://blog.csdn.net/i042416/article/details/134643986后来有朋友追问:如果我的SAPUI5应用里使用的表格控件,没有用响应式表格sap.m.Tab......
  • Vulkan/FrameBuffer
    帧缓冲(Framebuffer)代表由渲染管线进行渲染的一组图像。它们影响管线的最后几个阶段:深度模板测试,颜色混合,逻辑运算,多重采样等等。一个帧缓冲对象总是附着在一个渲染通道上并且可以用在多个具有相似模板编排的渲染通道中。调用vkCreateFramebuffer创建帧缓冲对象。在VkFramebuffer......