Настройка для ResourceDictionary [дубликат]

Что-то вроде этого?

SELECT yourtable.id, rev, content
FROM yourtable
INNER JOIN (
    SELECT id, max(rev) as maxrev FROM yourtable
    WHERE yourtable
    GROUP BY id
) AS child ON (yourtable.id = child.id) AND (yourtable.rev = maxrev)
222
задан CharithJ 4 July 2015 в 01:17
поделиться

6 ответов

Проверьте синтаксис URI пакета . Вы хотите что-то вроде этого:

<ResourceDictionary Source="pack://application:,,,/YourAssembly;component/Subfolder/YourResourceFile.xaml"/>
323
ответ дан Tim Cooper 28 August 2018 в 10:29
поделиться

Я работаю с .NET 4.5 и не могу заставить это работать ... Я использовал библиотеку пользовательского контроля WPF. Это сработало для меня в конце ...

<ResourceDictionary Source="/MyAssembly;component/mytheme.xaml" />

source: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/11a42336-8d87 -4656-91a3-275413d3cc19

33
ответ дан Aleksandar Toplek 28 August 2018 в 10:29
поделиться

Resource-Only DLL - это вариант для вас. Но это необязательно, если вы не хотите изменять ресурсы без перекомпиляции приложений. Есть только один общий файл ResourceDictionary.

<ResourceDictionary Source="pack://application:,,,/
     <MyAssembly>;component/<FolderStructureInAssembly>/<ResourceFile.xaml>"/>

MyAssembly - просто имя сборки без расширения

FolderStructureInAssembly - Если ваши ресурсы находятся в складке, укажите структуру папок

. Когда вы это делаете, лучше знать siteOfOrigin .

WPF поддерживает два органа: application: /// и siteoforigin: ///. Владение приложением: /// идентифицирует файлы данных приложений, которые известны во время компиляции, включая файлы ресурсов и содержимого. Владелец siteoforigin: /// идентифицирует сайт исходных файлов. Объем каждого органа управления показан на следующем рисунке.

enter image description here [/g3]

16
ответ дан CharithJ 28 August 2018 в 10:29
поделиться

Использование XAML:

Если вы знаете другую структуру assembly и хотите, чтобы resources в коде c # , используйте ниже код :

 ResourceDictionary dictionary = new ResourceDictionary();
 dictionary.Source = new Uri("pack://application:,,,/WpfControlLibrary1;Component/RD1.xaml", UriKind.Absolute);
 foreach (var item in dictionary.Values)
 {
    //operations
 }

Выход: если мы хотим использовать ResourceDictionary RD1.xaml проекта WpfControlLibrary1 в проекте StackOverflowApp.

Структура проектов:

Словарь ресурсов:

Выход кода:

PS: Все файлы ResourceDictionary должны иметь Build Action как «Resource» или «Page».

Использование C #:

Если кто-то хочет решение в чисто c # code , тогда см. мое это решение.

4
ответ дан Community 28 August 2018 в 10:29
поделиться

Для UWP:

<ResourceDictionary Source="ms-appx:///##Namespace.External.Assembly##/##FOLDER##/##FILE##.xaml" />
5
ответ дан Gianluca Demarinis 28 August 2018 в 10:29
поделиться

Пример, чтобы сделать это 15-секундным ответом -

Предположим, что у вас есть «styles.xaml» в библиотеке WPF с именем «common», и вы хотите использовать его из основного проекта приложения:

  1. Добавьте ссылку из основного проекта в «общий» проект
  2. . Ваш app.xaml должен содержать:

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/Common;component/styles.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

Приветствия

90
ответ дан Hertzel Guinness 28 August 2018 в 10:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: