3

我正在使用 Devexpress 和 WPF。devexpress 提供了不同的主题用户可以应用。

 ThemeManager.ApplicationThemeName = Theme.MetropolisDarkName; //MetropolisDarkName is name of a Theme.

在我的应用程序中,用户可以选择要应用的任何主题。但是如果他关闭应用程序并再次打开它,主题更改就不一样了。我希望应该保存这些更改,因此如果用户在应用主题后将再次打开它,则应保存并应用更改。

我应该将主题的名称保存在数据库中还是有其他方法可以解决这个问题。我需要你的建议。谢谢你。

4

1 回答 1

6

在 Visual Studio 中执行此操作的超级简单方法是.settings向您的项目添加一个新文件,并定义一个ThemeName. 您可以General在 C# 项目模板中找到设置模板。设置文件本身只是一个具有 type 基础类的设计器System.Configuration.ApplicationSettingsBase

创建的类将设置值保存到app.config. 巧妙的是,您可以将设置定义为应用程序或用户,因此在同一台机器上使用该应用程序的不同用户可以拥有自己的自定义设置。

以下假设您Settings.settings使用名为ThemeNametype的条目创建了文件string

从设置中获取主题

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    ThemeManager.ApplicationThemeName = Properties.Settings.Default.ThemeName;
}

保存主题

public void SetTheme(string themeName) {
    ThemeManager.ApplicationThemeName = themeName;
    Properties.Settings.Default.ThemeName = themeName;
    Properties.Settings.Default.Save();
}

MSDN 上的设置

于 2013-08-16T18:56:21.700 回答