Silverlight MVP, MCT, MCPD

реклама
Использование стилей и шаблонов
в Silverlight приложениях
Сергей Лутай
Руководитель департамента
разработки мобильных
приложений
Digital Cloud Technologies
Silverlight MVP, MCT, MCPD
Содержание
• Стили
• Шаблоны
• Состояния
Конфигурация отображения
• Изменение свойств элемента
• <Style> элемент
• Работает с Controls,
UserControls, Shapes, Panels
Возможности стилей
• BasedOn стили
▫ Расширение сществующих стилей
• Merged Resource Dictionaries
▫ Размещение стилей в разных файлах
DEMO
Конфигурация отображения
• Полное изменение отображения
• Элемент <ControlTemplate>
• Расширение {TemplateBinding}
• Работает с пользовательскими
компонентами
(не UserControls, Panels, Shapes)
Части и состояния модели
• Цели
▫ Облегчить изменения
▫ Разделение между логикой и отображением
• Использование
▫ Не используется во время выполения
▫ Поддерживается в Expression Blend
Части
• Именование элементов (x:Name) в шаблонах
• Управление из кода
• Не обязательное
Состояния
• Визуальное отображение компонента в
указанном состоянии
• Элемент <VisualState>
• Не обязательное
MouseOver
Pressed
Переходы
• Визуально компонент выполняет переходы
мыжду состояниями
• Элемент <VisualTransition>
VisualTransition
MouseOver
Pressed
Группы состояний
• Набор взаимоисключающих состояний
• Различные состояния групп - ортогональны
• Элемент <VisualStateGroup>
Normal
MouseOver
CommonStates
ReadOnly
Disabled
Valid
InvalidUnfocused
ValidUnfocused
Unfocused
Focused
FocusStates
ValidationStates
Using States & Transitions
•
VisualStateManager.VisualStateGroups
▫
•
VisualStateGroup
▫
•
Contains group of related states
VisualState class
▫
•
Attached property on root visual of ControlTemplate
Contains storyboard that represents visual look
VisualTransition class
▫
▫
▫
▫
Contains duration for automatic transition animations
Contains storyboard for explicit transition animation
Default, or “To/From” transiitions
GeneratedEasingFunction
DEMO
Сергей Лутай
Silverlight MVP, MCT, MCPD
@sergeylutay
sergii.lutai@dctua.com
http://lutay.uneta.com.ua
Скачать