Upload
dmitry-gridnev
View
78
Download
4
Embed Size (px)
DESCRIPTION
Windows Phone HSE course
Citation preview
Школа разработчиков Windows Phone
Занятие №5
Advanced XAML & MVVM
Resourses
• Общие куски XAML-кода• Необходимы для общей стилизации
Style
• Заранее задаем свойства в объекте• Можем применять как к отдельному
объекту, так и к целому классу объектов
Неявные стили
• Если не указывать x:Key, то Style становится неявным и действует на весь класс
DataBinding
• Простой и очень мощный инструмент привязки данных, позволяющий получить данные и показать их в XAML
• Привязка – расширение разметки в коде элемента
Как реализовано?
Как применять?
• DataContext• DataTemplate
DataContext
• Свойство, которое позволяет искать источник данных в иерархии элементов XAML
DataTemplate
• DataTempate для списковых элементов
Типы привязки
Связывание элементов
• С помощью дополнения ElementName можно связывать два свойства разных элементов
MVVM
• Шаблон проектирования, являющий модификацией паттерна MVC для фреймворков, использующий DataBinding
• Используется для разделения представления(View, UI) от логики (Model), связывания данных между этим слоями
Из чего состоит?
• View – графический интерфейс, UI• Model – данные приложения, бизнес-
логика• ModelView - слой, поставляющий данные в
удобном для представления формате и обновляет модель, что освобождает представление от необходимости взаимодействия с моделью
Как это работает?
Для чего нужно?
• Полное отделение представления от модели
• Удобное взаимодействие между частями приложения
• Полное использование возможностей DataBinding
• Упрощение логики
Когда использовать?
• Для средних/больших проектов• При наличии сложных моделей и
представлений
Как выглядит в проекте?
С помощью чего реализовать?
• MVVM Light (http://mvvmlight.codeplex.com/• Simple MVVM Toolkit (
http://simplemvvmtoolkit.codeplex.com/)• ect
Полезные топики
• http://blog.tattoocoder.com/2012/07/getting-started-with-windows-phone-and.html
• https://channel9.msdn.com/Forums/TechOff/A-very-simple-implementation-sample-of-MVVM-for-the-Windows-Phone
• http://www.geekchamp.com/articles/windows-phone-mango-getting-started-with-mvvm-in-10-minutes
Q&A
Спасибо за внимание!