private void SaveTheme(bool doByMessageBox) { DAL.UnitOfWork oUnitOfWork = null; try { oUnitOfWork = new DAL.UnitOfWork(); Models.User oUser = oUnitOfWork.UserRepository .GetById(Utility.CurrentUser.Id); ViewModels.FontViewModel oFViewModel = FontComboBox.SelectedItem as ViewModels.FontViewModel; ViewModels.ThemeViewModel oTViewModel = ThemeComboBox.SelectedItem as ViewModels.ThemeViewModel; oUser.UserSetting.Theme.ApplicationTheme = oTViewModel.ApplicationThemeName; DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName = oUser.UserSetting.Theme.ApplicationTheme; Utility.SetThemeBackground(DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName); oUser.UserSetting.Theme.FontFamily = oFViewModel.FontFamily.Source; App.Current.Resources[Infrastructure.Text.PersianFontResources] = oFViewModel.FontFamily; oUnitOfWork.UserRepository.Update(oUser); Utility.CurrentUser = oUser; oUnitOfWork.Save(); Infrastructure.MessageBox.Show ( caption: Infrastructure.MessageBox.Caption.Information, text: "تنظیمات شخصی سازی با موفقیت ذخیره گردید." ); ignoreMessageBox = true; if (doByMessageBox == false) { this.Close(); } } catch (System.Exception ex) { Infrastructure.MessageBox.Show(ex.Message);; } finally { if (oUnitOfWork != null) { oUnitOfWork.Dispose(); oUnitOfWork = null; } } }
private void ThemeComboBox_SelectedIndexChanged(object sender, System.Windows.RoutedEventArgs e) { ViewModels.ThemeViewModel oViewModel = ThemeComboBox.SelectedItem as ViewModels.ThemeViewModel; DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName = oViewModel.ApplicationThemeName; Utility.SetThemeBackground(DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName); IsThemeChanged = true; }
static Theme() { ThemesList = new System.Collections.Generic.List <ViewModels.ThemeViewModel>(); if (ThemesList.Count == 0) { ViewModels.ThemeViewModel oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.SevenName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.SevenFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.VS2010Name; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.VS2010FullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2016ColorfulName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2016ColorfulFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2016WhiteName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2016WhiteFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2013LightGrayName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2013LightGrayFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2010BlueName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2010BlueFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2010SilverName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2010SilverFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2007BlueName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2007BlueFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2007SilverName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.Office2007SilverFullName; ThemesList.Add(oViewModel); oViewModel = new ViewModels.ThemeViewModel(); oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.DXStyleName; oViewModel.DisplayName = DevExpress.Xpf.Core.Theme.DXStyleFullName; ThemesList.Add(oViewModel); } ThemesList = ThemesList .OrderBy(current => current.DisplayName) .ToList(); }