22
Школа разработчиков Windows Phone

Windows Phone School HSE Lecture 5

Embed Size (px)

DESCRIPTION

Windows Phone HSE course

Citation preview

Page 1: Windows Phone School HSE Lecture 5

Школа разработчиков Windows Phone

Page 2: Windows Phone School HSE Lecture 5

Занятие №5

Advanced XAML & MVVM

Page 3: Windows Phone School HSE Lecture 5

Resourses

• Общие куски XAML-кода• Необходимы для общей стилизации

Page 4: Windows Phone School HSE Lecture 5

Style

• Заранее задаем свойства в объекте• Можем применять как к отдельному

объекту, так и к целому классу объектов

Page 5: Windows Phone School HSE Lecture 5

Неявные стили

• Если не указывать x:Key, то Style становится неявным и действует на весь класс

Page 6: Windows Phone School HSE Lecture 5

DataBinding

• Простой и очень мощный инструмент привязки данных, позволяющий получить данные и показать их в XAML

• Привязка – расширение разметки в коде элемента

Page 7: Windows Phone School HSE Lecture 5

Как реализовано?

Page 8: Windows Phone School HSE Lecture 5

Как применять?

• DataContext• DataTemplate

Page 9: Windows Phone School HSE Lecture 5

DataContext

• Свойство, которое позволяет искать источник данных в иерархии элементов XAML

Page 10: Windows Phone School HSE Lecture 5

DataTemplate

• DataTempate для списковых элементов

Page 11: Windows Phone School HSE Lecture 5

Типы привязки

Page 12: Windows Phone School HSE Lecture 5

Связывание элементов

• С помощью дополнения ElementName можно связывать два свойства разных элементов

Page 13: Windows Phone School HSE Lecture 5

MVVM

• Шаблон проектирования, являющий модификацией паттерна MVC для фреймворков, использующий DataBinding

• Используется для разделения представления(View, UI) от логики (Model), связывания данных между этим слоями

Page 14: Windows Phone School HSE Lecture 5

Из чего состоит?

• View – графический интерфейс, UI• Model – данные приложения, бизнес-

логика• ModelView - слой, поставляющий данные в

удобном для представления формате и обновляет модель, что освобождает представление от необходимости взаимодействия с моделью

Page 15: Windows Phone School HSE Lecture 5

Как это работает?

Page 16: Windows Phone School HSE Lecture 5

Для чего нужно?

• Полное отделение представления от модели

• Удобное взаимодействие между частями приложения

• Полное использование возможностей DataBinding

• Упрощение логики

Page 17: Windows Phone School HSE Lecture 5

Когда использовать?

• Для средних/больших проектов• При наличии сложных моделей и

представлений

Page 18: Windows Phone School HSE Lecture 5

Как выглядит в проекте?

Page 19: Windows Phone School HSE Lecture 5

С помощью чего реализовать?

• MVVM Light (http://mvvmlight.codeplex.com/• Simple MVVM Toolkit (

http://simplemvvmtoolkit.codeplex.com/)• ect

Page 21: Windows Phone School HSE Lecture 5

Q&A

Page 22: Windows Phone School HSE Lecture 5

Спасибо за внимание!

[email protected]