Проблема слияния ресурсов и стилей XAML из разных проектов - PullRequest
0 голосов
/ 26 апреля 2011

Я создаю несколько приложений WPF, которые все связаны вокруг одного центрального приложения WPF и должны использовать одни и те же стили и ресурсы. Во-первых, я создал папку в своем основном проекте и добавил несколько стилей XAML, которые все работали при отображении пользовательского интерфейса в нужных мне стилях. Позже я создал другое приложение, но хотел использовать те же стили, поэтому я переместил стили в третий проект, добавил этот проект в основное приложение и добавил ссылку на проект стилей. Проблема в том, что мой стиль не распознает мой проект. Я поставил стиль с именем проекта, и это не сработало вообще.

Теперь я дошел до того, что могу ввести полный относительный путь к файлам xaml в разделе Path ResourceDictionary, и это работает. Однако, если я переместу проект в другую папку, это не получится. Я полагаю, вы можете спросить, почему я это сделаю, и есть причины, например, просто рефакторинг структуры моего проекта. Поэтому было бы проще обращаться к ресурсам по ссылке, а не по файлу.

Я знаю, что ответ находится в нескольких дюймах, но я не могу найти ничего, связанного со стилями, из другого проекта.

До сих пор я получал отличные отзывы от этого сайта, и любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 28 апреля 2011

ОК, я подозревал это!По сути, вы добавляете свои стили к набору словарей ресурсов в отдельном проекте, затем добавляете проект в решение и делаете ссылку на него в своем основном проекте.Я получил это далеко, но мне нужно было ссылаться на файлы ресурсов xaml из моих ресурсов в моем основном проекте.

Я пытался использовать полный путь, но пока это работало, это было не очень хорошим решением, потому что если я переместил свойспроектировать и повторно связать его, файл будет недействительным.

Синтаксис, который я использовал, работает следующим образом:

<ResourceDictionary Source="/StyleResource;component/MSResources/TabControl.xaml" />

Где StyleResources - это имя моего проекта, который содержит мой общий ресурсstyles, MSResources - это папка в проекте стилей, в которой хранится файл xaml, а имя файла в конце очевидно.Я еще не читал о «компонентном» справочнике, но он работает, поэтому я посмотрю его позже и обновлю этот пост.

...