Михаил Черномордиков Developer Evangelist, Microsoft Россия mikcher@microsoft.com http://blogs.msdn.com/mikcher http://www.remix.ru.

Презентация:



Advertisements
Похожие презентации
Dependency Property Расширение разметки (Markup Extensions) Привязки (binding) Лекция 13.
Advertisements

Михаил Черномордиков Developer Evangelist, Microsoft Россия
Источники данных LINQ РУБД. LINQ (Language Integrated Query, язык интегрированных запросов ) это технология, которая позволяет разработчикам формировать.
Программирование на C# 4 и.NET 4 Лекция 15. WPF. Шаблон элемента управления Элементы управления WPF спроектированы таким образом, чтобы полностью отделить.
Михаил Черномордиков Developer Evangelist, Microsoft Россия
Михаил Черномордиков Developer Evangelist, Microsoft Россия
Microsoft TechDays Александр Шер Разработчик ООО «Айко»
ИТЕРАТОРЫ И LINQ Лекция 1. Интерфейс IEnumerable и IEnumerator Любая коллекция реализует интерфейс IEnumerable. public interface IEnumerable : IEnumerable.
Классы Windows Presentation Foundation System.Object DispatcherObject ApplicationDependencyObject Visual UIElement FrameworkElement Page Shape TextBlock.
Михаил Черномордиков Developer Evangelist, Microsoft Россия
Microsoft TechDays Занятие 6 Создание приложений доступа к данным с помощью WPF Роман Здебский
Проект Linq (C# 3.0, VB 10.0) – будущее языков программирования Title of the Presentation Дмитрий Никонов Program Manager Microsoft.
Microsoft TechDays Михаил Черномордиков Developer Evangelist, Microsoft
Классы WindowsForms элементов управления для работы со структурами данных Control ListViewTreeViewListControl ComboBoxListBox CheckedListBox DataGridViewDataGrid.
Microsoft TechDays Михаил Черномордиков Developer Evangelist, Microsoft
Автоматическая генерация схемы реляционной базы данных на основе объектной схемы данных Богданов Алексей.
Microsoft TechDays Александр Шер Разработчик ООО «Айко»
Платформа разработки ASP.NET Гайдар Магдануров t: e: m: +7.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
Top 10 возможностей ASP.NET 2.0. Выбор сделан на основе опросов разработчиков Top 10 – горячая десятка возможностей.
Транксрипт:

Михаил Черномордиков Developer Evangelist, Microsoft Россия

Сеть Работа с данными в Сети class Car { public string Image {get;set} public string Model {get;set] } class Car { public string Image {get;set} public string Model {get;set] } Получение и подготовка Трансфор -мация

Получение и подготовка Сериализация WSDL/SOAP - Web Services serialization JSON - DataContractJSONSerializer XML Работа с XML XmlReader XmlWriter

Language INtegrated Query Позволяет исполнять специальные запросы с проверкой синтаксиса, строгой типизацией и Intellisense Работает на любом источнике на базе IEnumerable Поддерживает фильтрацию и сортировку данных в памяти Унифицированный доступ к различным источникам LINQ to XML LINQ to JSON LINQ to Objects

Инновации в языке var contacts = from c in customers where c.City == "Hove" select new { c.Name, c.Phone }; var contacts = customers.Where(c => c.City == "Hove").Select(c => new { c.Name, c.Phone }); Методы расширения Лямбда- выражения Выражения запроса Инициализаторы объектов Анонимные типы Ссылка на локальный тип

Работа с данными через LINQ ParseUsingLinqToXml

Связывание данных Двунаправленное связывание данных между элементами интерфейса и CLR-объектами (или коллекцией объектов) Binding binding = new Binding("Nasdaq.Points"); binding.Mode = BindingMode.OneWay; TextBlock tb = new TextBlock(); tb.SetBinding(TextBlock.TextProperty, binding);

Связывание данных Связывание свойств одного объекта со свойствами другого объекта Свойство получателя должно быть DependencyProperty Свойство источника может быть любого типа Источник может быть коллекцией, если получатель поддерживает связывание со множеством Разметка {Binding} обеспечивает декларативную поддержку data binding

Источники данных Можно связать интерфейс с любым публичным свойством CLR-объекта (public property) DataContext: свойство FrameworkElement, которое определяет источник данных для данного элемента и всех дочерних подэлементов в дереве Binding.Source: позволяет явно указывать источник данных для каждого связывания

Режимы связывания One Way Обновления в источнике данных отражаются в UI DataSource реализует интерфейс INotifyPropertyChanged для уведомления Two Way Изменения в UI отражаются в бизнес-объекте

Data Templates – шаблоны данных DataTemplate class Car { string Image {get;set} string Model {get;set] }

Валидация Событие BindingValidationError Через исключения в Converter или сеттере свойств Включение Mode=TwoWay NotifyOnValidationError=true ValidatesOnExceptions=true

DataGrid Может быть связан с данными Поддержка скроллинга Модель полного выделения строки Текстовый столбец Шаблон столбца Поддержка скинов Возможность редактирования Автогенерация колонок Стили Детали строки Изменение размеров пользователем Столбец с checkbox Виртуализация строк Автомасштабирование Изменение порядка столбцов Сортировка несколькими столбцами «Замороженные» столбцы Фильтрация

DataGrid

Конвертеры Реализуют интерфейс IValueConveter Могут быть использованы с {Binding..} One Way или Two Way Из источника = Convert Из получателя = ConvertBack

Связывание с коллекциями Любой тип IEnumerable поддерживается Уведомления – для Two Way INotifyCollectionChanged ObservableCollection

Content Control Готовое место для шаблона данных Применение шаблона данных через ContentTemplate

Content Control Делаем «мегакнопку»

ItemsControl Повторяет UI для каждого элемента данных Возможности настройки внешнего представления Основанный на формах класс для списочных элементов управления – например, ListBox

Михаил Черномордиков Developer Evangelist, Microsoft Россия