WPF - Управление стилями и избегание грязных словарей ресурсов - PullRequest
0 голосов
/ 17 сентября 2009

Я часами работал над дизайном приложения в WPF и создал целую кучу разных стилей. Но я заметил, что на самом деле я только что отредактировал стили в файле SimpleStyles.xaml, а не в пользовательском словаре.

Итак, я начал щелкать правой кнопкой мыши все доступные мне элементы управления, выбрал «редактировать копию» и создал копию в словаре пользовательских ресурсов. Но потом я обнаружил, что многие элементы управления основаны на нескольких стилях. SimpleScrollViewer, например, содержит большой палец и, возможно, больше. Это создало огромный беспорядок в общей структуре стилей во всем проекте.

И, таким образом, мой вопрос заключается в следующем; О чем мне следует думать, когда я снова начинаю этот проект? Лучше ли редактировать копию элементов управления SimpleStyles? Есть ли какой-нибудь инструмент для управления такими вещами?

1 Ответ

1 голос
/ 23 сентября 2009

Expression Blend добавит словарь ресурсов для простых стилей при первом использовании элемента управления SimpleStyled. Для реальных проектов рекомендуется разделять словари ресурсов по типу ресурса, а затем по функциональной области.

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

  1. Щетки
  2. Стили управления
  3. Преобразователи / Селекторы

Поскольку они горизонтальны, их имена довольно понятны (например, Brushes.xaml, ControlStyles.xaml, Converters.xaml и т. Д.)

Если вы используете Silverlight, вам, вероятно, следует подумать об использовании тем. В этом случае вы создадите Brushes.xaml и ControlStyles.xaml для каждого создаваемого вами [themeName] \ generic.xaml.

Затем вы должны создать словари ресурсов для функциональных областей, в которых будут размещаться следующие вещи:

  1. Шаблоны предметов для различных используемых элементов управления.
  2. Шаблоны содержимого для различных используемых элементов ContentControl.
  3. Одноразовые стили управления

Каждая функциональная область будет иметь словарь ресурсов, в котором есть вышеуказанные элементы (например, CustomerManagementStyles.xaml, Orderingstyles.xaml и т.

...