Select ResourceDictionary from XAML file in code behind

196
16 марта 2018, 11:05

Есть файл Styles.xaml, в нем есть несколько ResourceDictionary у которых есть x:Key.

Мне нужно в C# коде присвоить Application.Current.Resources ресурс с определенным x:Key.

Каким образом это можно сделать?

Answer 1

У меня работает так:

var rd = new ResourceDictionary { Source = new Uri("pack://application:,,,/Styles.xaml") };
Resources.MergedDictionaries.Add((ResourceDictionary)rd["Style_Quad"]);

Добавил этот код в App.xaml.cs в метод OnStartup

Answer 2

Ответ:

App.xaml

<ResourceDictionary>
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Styles.xaml"/>             
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

Styles.xaml

<ResourceDictionary x:Key="Style_Quad">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Style_Quad.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<ResourceDictionary x:Key="Style_Ellipse">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="Style_Ellipse.xaml"/>
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

C#

ResourceDictionary style = (ResourceDictionary)Application.Current.Resources["Style_Quad"];
Application.Current.Resources.MergedDictionaries.Add(style);
READ ALSO
Сократил ли текст &lt;Text /&gt; аттрибут ellipsizeMode, возможно ли узнать обрезан элемент или же поместился

Сократил ли текст <Text /> аттрибут ellipsizeMode, возможно ли узнать обрезан элемент или же поместился

Всем приветЕсть текстовое поле в котором может много или мало текста

239
Как сохранить массив в csv файл?

Как сохранить массив в csv файл?

Есть такой код он парсит данные с сайта и записывает их в виде массива

309
Не возвращает return

Не возвращает return

Не могу понять, почему если через consolelog, то вижу данные, а если через return то ничего не приходит

221
Не могу regex&#39;ом на Javascript&#39;e удалить внутренний style

Не могу regex'ом на Javascript'e удалить внутренний style

При копировании текста с Вордовского документа и последующей вставке в html-элемент с contenteditable="true" получаю внутренний стиль вида:

223