本文最后更新于 2019年 5月 6号 晚上 11点 48分,并同步发布于 :
在 WPF
开发中, 经常需要让窗口记住它上一次的位置和大小,我们可以通过 配置文件 或 注册表 来实现这一目的。
但是配置文件在保存多个窗口的情况下显得不太方便, 需要在配置文件中为每个窗口创建值。
而使用注册表的方式更为灵活也更方便, 本文使用注册表的方式来实现。
为了灵活的为每个窗口保存位置,可以创建一个辅助类 :
这个辅助类有两个方法( SaveSize
和 SetSize
), 分别保存和设置一个窗口的位置和大小。
保存窗口位置
先看一下 辅助类的 SaveSize
方法 :
这个方法在注册表的 Software
目录中创建了 MyApp/WindowBounds
子目录
然后在这个目录中保存每个窗口的位置信息
window.RestoreBounds
属性是窗口在 最大化 / 最小化 之前的位置信息,类型为Rect
还原窗口位置
然后是 SetSize
方法 :
这个方法读取我们之前在注册表中创建的值,并转换为 Rect
类型的值
然后根据这个值,设置窗口的位置和大小。
编写好辅助类之后,只需在窗口加载和关闭的时候,还原或保存位置即可。
—END—