本文最后更新于 2019年 5月 6號 晚上 11點 47分,并同步發(fā)布于 :
在 WPF 開發(fā)中, 經(jīng)常需要讓窗口記住它上一次的位置和大小,我們可以通過 配置文件 或 注冊表 來實現(xiàn)這一目的。
但是配置文件在保存多個窗口的情況下顯得不太方便, 需要在配置文件中為每個窗口創(chuàng)建值。
而使用注冊表的方式更為靈活也更方便, 本文使用注冊表的方式來實現(xiàn)。
為了靈活的為每個窗口保存位置,可以創(chuàng)建一個輔助類 :
這個輔助類有兩個方法( SaveSize 和 SetSize ), 分別保存和設(shè)置一個窗口的位置和大小。
保存窗口位置
先看一下 輔助類的 SaveSize 方法 :

這個方法在注冊表的 Software 目錄中創(chuàng)建了 MyApp/WindowBounds 子目錄
然后在這個目錄中保存每個窗口的位置信息
window.RestoreBounds屬性是窗口在 最大化 / 最小化 之前的位置信息,類型為Rect
還原窗口位置
然后是 SetSize 方法 :

這個方法讀取我們之前在注冊表中創(chuàng)建的值,并轉(zhuǎn)換為
Rect 類型的值然后根據(jù)這個值,設(shè)置窗口的位置和大小。
編寫好輔助類之后,只需在窗口加載和關(guān)閉的時候,還原或保存位置即可。

---END---