В WPF, Как применить стиль к UserControl в режиме конструктора? - PullRequest
8 голосов
/ 18 февраля 2011

Я обычно определяю стиль и шаблон элемента управления в App.xml на вкладке. Таким образом, при разработке пользовательского интерфейса я вижу пользовательский интерфейс со стилем, применяемым в представлении дизайна в Visual Studio 2008 с .NET3.5.

Однако, в другом случае, иногда я делаю проект UserControl only, и в этом случае отсутствует App.xml, поэтому пользовательский интерфейс отображается как внешний вид по умолчанию в режиме конструктора. Трудно понять фактический вид во время выполнения.

Есть ли способ применить стиль к UserControl? Если есть способ обмена одинаковым стилем и шаблоном между проектом приложения и проектом UserControl, это было бы прекрасно!

Пожалуйста, дайте мне знать, если есть решение.

1 Ответ

4 голосов
/ 18 февраля 2011

Вы можете хранить свои стили в отдельном ResourceDictionary в вашем проекте управления.Затем вам нужно Слить словари в блоке Ресурсы вверху каждого пользовательского элемента управления:

<UserControl.Resources>
   <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
         <ResourceDictionary Source="MyControlLibraryStyles.xaml"/>
      </ResourceDictionary.MergedDictionaries>
   </ResourceDictionary>
</UserControl.Resources>

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

...