Show / Hide Table of Contents

Встроенные стили и шаблоны

Windows Presentation Foundation (WPF) предоставляет Style объекты и объекты шаблона (FrameworkTemplate подклассы) как способ определения внешнего вида элемента в ресурсах, так что они могут использоваться несколько раз. По этой причине атрибуты в XAML , которые принимают типы Style и FrameworkTemplate почти всегда ссылки на ресурсы в существующие стили и шаблоны, а не определения новых.

Ограничения встроенные стили и шаблоны

В XAML, свойства стиля и шаблона с технической точки зрения можно задать одним из двух способов. Можно использовать синтаксис атрибутов для ссылки на стиль, который был определен в ресурсе, например < объектStyle="{StaticResourcemyResourceKey}" .../>. Или можно использовать синтаксис элемента свойства для определения встроенный стиль, например:

< object >

< object .Style>

< Style .../>

</ object .Style>

</ object >

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

Обычно нет причин для задания встроенный стиль или шаблон, даже если вы планируете использовать этот стиль или шаблон в этом расположении. Большинство элементов, которые может принимать стиля или шаблона, также поддерживают свойство content и модель содержимого. Если вы используете только любое логическое дерево создавать с помощью стилей или шаблонов один раз, было бы даже проще заполнить это свойство содержимого с помощью эквивалентных дочерние элементы в прямой разметки. Это будет полностью обойти механизмы стиля и шаблона.

Других синтаксисов, включаемые расширения разметки, которые возвращают объект возможны также стили и шаблоны. Два таких расширения, имеющие возможные сценарии включают в себя TemplateBinding и Binding.

См. также

  • Стилизация и использование шаблонов
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX