【问题标题】:Choosing one of multiple resource dictionaries in code - WPF在代码中选择多个资源字典之一 - WPF
【发布时间】:2014-01-14 23:03:48
【问题描述】:

我已经开发了几个 WPF 资源字典,它们具有不同样式的控件组合在一起。

在我的新项目中,我无法决定我最喜欢哪个,所以我想要一个允许用户在它们之间切换的设置。

目前我在App.xaml文件中定义资源字典如下:

<Application.Resources> 
      <ResourceDictionary Source="/Styles/BlueStyle.xaml" />     
</Application.Resources>

是否可以在 C# 代码中定义这个,以便我可以从样式列表中选择(可能从下拉框中)而不是被锁定在一个样式中。

提前致谢

【问题讨论】:

    标签: c# wpf resourcedictionary


    【解决方案1】:

    将在运行时设置资源:

    Application.Current.Resources.Source = new Uri("/Styles/BlueStyle.xaml", UriKind.RelativeOrAbsolute);
    

    或在 ComboBox_SelectionChanged 中(其中包含 BlueStyleRedStyle 之类的项目):

    ResourceDictionary dictionary = new ResourceDictionary();
    dictionary.Source = new Uri(@"/Styles/" + comboBox.SelectedValue.ToString() + ".xaml", UriKind.Relative);
    Application.Current.Resources.MergedDictionaries.Clear(); 
    Application.Current.Resources.MergedDictionaries.Add(dictionary);
    

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多