2

我正在使用 MVVM 创建一个 WPF 桌面应用程序。

我曾经用来Behavior存储窗口状态行为。我想要一些对话框来存储应用程序会话之间的设置。但是我希望在应用程序会话的最后打开位置显示一些对话框,但是当应用程序重新启动时,对话框必须成为中心所有者。

我可以在类中有一个标志WindowStateSettings来存储它是一个临时设置,并将在应用程序退出时刷新。但是我怎么能删除特定的用户设置。或者有任何设置对应用程序会话持续存在。我不能使用static类来存储数据,因为这个行为类不会在两个对话框之间共享数据。

4

1 回答 1

0

如果您想使用 .NET 中的内置设置机制,您可以在应用程序运行时更改您想要的所有设置,然后永远不要调用 Save() 将设置保存到磁盘。

使您的默认位置变得不可能,例如 (-1,-1)。

然后,在显示表单时,检查该表单的当前设置。如果值为 (-1,-1) 则显示中心。否则,在存储的坐标处显示它。

只要您在更改设置后不调用 Save(),它就会在下次启动应用程序时立即返回 (-1,-1)。

然后,您还可以灵活地允许用户保存他们的布局,以便下次在相同位置打开窗口。您只需在设置上调用 Save() 即可实现此目的。

于 2012-06-18T13:22:20.130 回答