gpt4 book ai didi

c# - 记住可扩展/可折叠导航区域的最后设置

转载 作者:行者123 更新时间:2023-12-03 10:37:16 25 4
gpt4 key购买 nike

我有一个使用MVVM模式的WPF查询。第一个面板是导航区域,第二个面板是选项卡区域。两者之间是导航按钮。如果单击导航按钮,则它将折叠导航区域。如果我再次单击此按钮,则两个面板均可见。

因此,我要做的就是让它们的最终状态在应用程序关闭时保持不变。如果用户折叠导航区域并关闭应用程序,则下次他们打开应用程序时,导航区域仍应关闭。我不想将此信息存储在数据库中。

我该如何实现?

图像的示异常(exception)观:

最佳答案

如果您使用的是MVVM,那么您将拥有该 View 的ViewModel。

在该ViewModel中,您应该具有一个命令,该命令将在用户单击“导航”按钮时执行,以便您可以决定如何处理“导航区域”

因此,基本上,您可以将该信息(导航是否折叠)存储在Application.Properties.Settings中,请参阅http://msdn.microsoft.com/en-us/library/aa730869%28v=vs.80%29.aspx

在那里您创建属性,例如类型为boolean的IsNavigationAreaCollapsed。

在代码中执行命令时,请执行以下操作:

    private void OnNavigationButtonExecution()
{
Properties.Settings.Default.IsNavigationAreaCollapsed = !Properties.Settings.Default.IsNavigationAreaCollapsed
CollapseNavigationArea(Properties.Settings.Default.IsNavigationAreaCollapsed); // this will collapse or not the navoigation area
Properties.Settings.Default.Save(); //save settings, so that it will be stored when app shutsdown
}

并在ViewModel构造函数中添加将从设置(Properties.Settings.Default.IsNavigationAreaCollapsed)中读取值的代码,并执行此操作
    CollapseNavigationArea(Properties.Settings.Default.IsNavigationAreaCollapsed); 

关于c# - 记住可扩展/可折叠导航区域的最后设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22371191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com