刚接触WPF,有两个概念不是很懂,现理解如下:

1:window和page谁包含谁的问题

一新建WPF应用程序,发现默认启动界面是一个window,将默认启动改为page,没有错误。但是如果在page中执行如下程序报错:

this.content = new Window1();

错误信息是:window是在属性结构的根目录。那么,我们可以理解为,window包含page,而不是反之。

2:登录界面(窗口跳转)

既然WPF的默认启动界面是一个窗口window,那么我也默认理解整个应用程序最上层最好是一个window(虽然全部是page也不会出错)。这大概是习惯使然,因为老的winform程序嘛,大家都是window。

那么,涉及到登录,就有个窗口之间的跳转,貌似没有好的方法,只能在登录的window中:

[c-sharp:nogutter] view plaincopy
  1. WinMain wm = new WinMain();
  2. wm.Show();
  3. wm.WindowState = WindowState.Maximized;
  4. this.Close();

3:页面跳转(page跳转)

前台转:

[xhtml:nogutter] view plaincopy
  1. <TextBlock FontSize="24" TextWrapping="Wrap" Margin="0,0,0,-19.998">
  2. <Hyperlink x:Name="LnkPre" NavigateUri="Page2.xaml" Foreground="Black">
  3. Enter Page2
  4. </Hyperlink>
  5. </TextBlock>

后台转:

[c-sharp:nogutter] view plaincopy
  1. NavigationService.GetNavigationService(this).Navigate(new Uri("Page2.xaml", UriKind.Relative));
  2. NavigationService.GetNavigationService(this).GoForward();向后转
  3. NavigationService.GetNavigationService(this).GoBack();  向前转

在后台跳转中,还有一个更简单的用法是:

this.content = new Page2();

4:windows跳转到page

[c-sharp:nogutter] view plaincopy
  1. NavigationWindow window = new NavigationWindow();
  2. window.Source = new Uri("Page1.xaml", UriKind.Relative);
  3. window.Show();

[转载]WPF窗口跳转及window和page区别相关推荐

  1. 设置WPF窗口相对于非WPF窗口的位置

    在前一个Post当中,指出了在WPF的WindowInteropHelper类中的一个BUG:通过WindowInteropHelper的Owner属性不能实现把WPF窗口的Owner属性设置为一个非 ...

  2. [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu)

    [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) 原文 [WPF疑难]如何禁用WPF窗口的系统菜单(SystemMenu) [WPF疑难]如何禁用WPF窗口的系统菜单(SystemM ...

  3. 关于窗口跳转的一些总结

    在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法 ...

  4. WPF窗口长时间无人操作鼠标自动隐藏

    原文:WPF窗口长时间无人操作鼠标自动隐藏 在软件开发中有时会有等待一段时间无人操作后隐藏鼠标,可能原因大致如下: 1.为了安全性,特别是那些需要用到用户名和密码登录服务端的程序,常常考虑长期无人操作 ...

  5. WPF 窗口居中 变更触发机制

    原文:WPF 窗口居中 & 变更触发机制 窗口居中 & 变更触发机制 解决: 1.单实例窗口,窗口每次隐藏后再显示时,位置居中显示 2.多屏幕下单实例窗口,当父窗口移动到其它屏幕时,单 ...

  6. python跳转到程序顶部_python-如何使Tkinter窗口跳到最前面?

    python-如何使Tkinter窗口跳到最前面? 如何获得Tkinter应用程序跳转到最前面? 当前,该窗口显示在我所有其他窗口的后面,并且没有获得焦点. 我应该打电话给一些方法吗? nathan ...

  7. WPF窗口允许通过拖放进行切换

    目录 介绍 背景 使用代码 TabWindow库的细分 带有关闭按钮的自定义TabItem 派生的TabControl支持自定义选项卡之间的拖放 允许将一个窗口切换到另一个窗口的TabWindow 总 ...

  8. 为 Revit API 插件创建 WPF 窗口的基本项目(Revit API+WPF 系列 2/3)

    在本系列的第二部分中,我们将讨论在创建 WPF 窗口时应用的基本项目. 为了继续,请确保您的插件项目能够创建 WPF 窗口.如果没有,您最好创建一个具有 WPF 功能的项目模板并创建另一个新项目.然后 ...

  9. 论多窗口相互关联下window.open打开已在的窗口时只激活不刷新的实现方案

    前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言-博主看到后会去代替大家踩坑的- 主页: oliver尹的主页 格言: 跌倒了爬起来就好- 来个关注吧,点个赞 ...

最新文章

  1. 解决了一个遗留的Portlet奇怪问题
  2. python程序设计试卷_Python程序设计试题库
  3. python连通域标记_图像分析:二值图像连通域标记
  4. 浅谈摄像头有关的安全问题
  5. jedis set集合 java,使用Jedis操作String、List、Set、Map等常见数据 | zifangsky的个人博客...
  6. Xcode搭建真机调试环境 图文实例
  7. scikit-learn:通过Non-negative matrix factorization (NMF or NNMF)实现LSA(隐含语义分析)...
  8. ASP.NET Core分布式项目实战(运行Consent Page)--学习笔记
  9. 保驾护航金三银四,100%好评!
  10. 一文理解 pytorch 拟合网络的过程
  11. Java基础之不一样的方法重载!
  12. 拓端tecdat|R语言Fama French (FF) 三因子模型和CAPM多因素扩展模型分析股票市场投资组合风险/收益可视化
  13. 关于Linux下载工具
  14. CodeForces 1389G Directing Edges 边联通分量缩点+树形dp+rerooting technique
  15. iOS TextField收取键盘的方法
  16. 蓝牙4.0 BLE传统配对绑定过程
  17. 破案了!不会讲笑话不会作诗的chatGPT!
  18. Python+OpenCV判断图像是黑底还是白底
  19. 5分钟给商品建立3D模型,我是如何做到的?
  20. 安静:内向性格的竞争力 苏珊·凯恩

热门文章

  1. mysql2已经存在数据数据导入,在MYSQL中导入已存在的数据库
  2. Occupations(表分割问题)
  3. 使用Callable来获取数组的最大值
  4. Quartz学习笔记
  5. mybatis一级缓存导致sql查询出现问题
  6. 浅析ajax原理与用法
  7. 数据分析进阶 数据质量
  8. Linux Centos6.5 SVN服务器搭建 以及客户端安装
  9. Codeforces#371 Div2
  10. JavaScrip入门-浏览器里的js