『WPF』保存和还原应用程序窗口的位置和大小

本文最后更新于 2019年 5月 6号 晚上 11点 47分,并同步发布于 :

  • —— 创作你的创作
  • CSDN —— 专业 IT 技术社区
  • www.tobinary.art —— 我的博客

WPF 开发中, 经常需要让窗口记住它上一次的位置和大小,我们可以通过 配置文件注册表 来实现这一目的。
但是配置文件在保存多个窗口的情况下显得不太方便, 需要在配置文件中为每个窗口创建值。
而使用注册表的方式更为灵活也更方便, 本文使用注册表的方式来实现。


为了灵活的为每个窗口保存位置,可以创建一个辅助类 :
这个辅助类有两个方法( SaveSizeSetSize ), 分别保存和设置一个窗口的位置和大小。

保存窗口位置

先看一下 辅助类的 SaveSize 方法 :

这个方法在注册表的 Software 目录中创建了 MyApp/WindowBounds 子目录
然后在这个目录中保存每个窗口的位置信息

window.RestoreBounds 属性是窗口在 最大化 / 最小化 之前的位置信息,类型为 Rect

还原窗口位置

然后是 SetSize 方法 :


这个方法读取我们之前在注册表中创建的值,并转换为 Rect 类型的值
然后根据这个值,设置窗口的位置和大小。


编写好辅助类之后,只需在窗口加载和关闭的时候,还原或保存位置即可。


---END---

你可能感兴趣的:(『WPF』保存和还原应用程序窗口的位置和大小)