Я пытаюсь поместить свои стили WPF в отдельную библиотеку, но немного не понял, как это лучше всего достичь. Это то, что я сделал до сих пор:Как создать пользовательскую библиотеку стилей WPF
- Создан новый проект библиотеки классов и добавлены ссылки PresentationCore, PresentationFramework, System.Xaml и WindowsBase
Созданный файл " MyStyles.xaml "в этом библиотечном проекте этого класса с следующего содержания:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Style TargetType="Button" x:Key="MyButtonStyle"> <Setter Property="Background" Value="Transparent"/> </Style> </ResourceDictionary>
Построен проект.
Создал новый проект приложения WPF и обратился к библиотеке , построенной выше.
В App.xaml пытались ссылаться на словарь ресурсов в libarary следующим образом:
`<ApplicationResources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="pack://application:,,,/MyCustomWpfStyles;component/MyStyles.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary>
`
В этой точке В. С. IntelliSense говорит о том, что произошла ошибка во время нахождения ресурса словарь, хотя приложение создает без проблем.
Даже если я в состоянии загрузить словарь ресурсов, я не знаю, как использовать его с контролем, например,
<Button Style="What goes here??" />
Посмотрел через Интернет, но не могу чтобы найти хороший пример того, как упаковывать стили в отдельную dll. Любые указатели?
Кроме того, если вы хотите, чтобы все ваши кнопки имели стиль, который вы определили, просто опустите атрибут 'x: Key'. – Gimly
Спасибо. Тем не менее, радости здесь нет. Пока приложение строит, независимо от того, какой цвет я устанавливаю для фона в MyStyles.xaml, я никогда не получаю его в своем приложении WPF. Не могу помочь, я пропустил что-то простое - знаете ли вы о хороших примерах того, как это сделать? –
@JamesB - Я добавил рабочий пример к моему ответу. Убедитесь, что все пути и имена верны. –