WPF ControlTemplate Как - PullRequest
       21

WPF ControlTemplate Как

0 голосов
/ 26 февраля 2009

Я очень новичок в WPF, около 4 часов нового. Я пришел с ASP.net и Masterpages.

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

Могут ли некоторые привести меня к примеру, как это делается, или к примеру кода от начала до конца?

Вторая часть:

Является ли ControlTemplate лучшим способом создания клиентских приложений для Windows WPF? Что такое лучшие практики в архитектуре приложений Windows WPF.

Спасибо

1 Ответ

1 голос
/ 06 марта 2009

На самом деле не существует «лучшего» способа для разработки интерфейсов WPF. Все зависит от опыта пользователя вашего приложения.

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

Несмотря на то, что существуют некоторые рекомендации по использованию шаблонов проектирования MVC / MVVM, не существует «лучшего» способа стилизации и тематики элементов управления. Я не считаю WPF более дружелюбным к новичкам, как WinForms, но в то же время он кажется гораздо более мощным в долгосрочной перспективе. Что может вам помочь, так это несколько базовых уровней:

  • Стили : это в основном эстетические изменения внешнего вида основных элементов управления и элементов с некоторой базовой поддержкой для запуска таких вещей, как при наведении курсора мыши. Они похожи на CSS на веб-страницах.
  • Шаблоны элементов управления : это более тяжелые версии стилей, в которых вы фактически воссоздаете элемент управления, так что, скажем, кнопка может иметь текстовое поле внутри него. Там, где стили работают на логическом уровне, где что-то вроде кнопки является наиболее атомарным элементом, шаблоны элементов управления могут углубляться в элементы управления, так что граница, фон, текст и т. Д. Кнопки рассматриваются как отдельные элементы вместо одной атомарной части.
  • Шаблоны данных : более сфокусированная версия шаблонов элементов управления, предназначенная для настройки способа отображения элементов данных в списках. Если у вас есть несколько картинок, которые вы не хотите, чтобы имя файла отображалось в списке, вы бы предпочли само изображение. Шаблон данных позволяет вам выполнять такие вещи.

Таким образом, вы должны спросить себя, когда говорите: «Сделайте так, чтобы все окна выглядели одинаково», вы имеете в виду, что изменения - это просто эстетика / внешний вид (стили), настройка отображения коллекции элементов (шаблоны данных / элементов) или полностью изменить внешний вид и поведение стандартного элемента управления или убедиться, что расположение элементов управления на странице одинаково для нескольких окон / страниц (шаблоны элементов управления)?

Наконец, «конец в конец» другого поста, на который вы ссылаетесь, довольно прост. Вы берете там шаблон элемента управления, и под своим тегом просто добавляете Template = {StaticResource MyTemplateName}, и шаблон применяется. Эта статья на MSDN - хорошее введение в управление шаблонами.

...