如何在WPF中保存应用程序主题名称

时间:2013-08-16 18:35:56

标签: c# .net wpf devexpress

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

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

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

我是否必须在数据库中保存主题的名称,或者是否有任何其他方法来解决此问题。我需要你的建议。 谢谢。

1 个答案:

答案 0 :(得分:6)

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

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

以下假设您使用类型为Settings.settings的{​​{1}}条目创建了文件ThemeName

从设置

获取主题
string

保存主题

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

Settings on MSDN