Программирование на C# 4 и .NET 4 презентация

Содержание


Презентации» Шаблоны, фоны презентаций» Программирование на C# 4 и .NET 4
Программирование на C# 4 и .NET 4
 Лекция 15. WPFШаблон элемента управления
 Элементы управления WPF спроектированы таким образом, чтобы полностьюControlTemplate
 Для отображения содержимого элемента управления в шаблоне элемента управления используютсяШаблон как ресурс
 Обычно шаблоны определяются в ресурсах, что их можноТриггеры в шаблоне
 Триггеры задаются в коллекции ControlTemplate.Triggers
 Триггеры необходимо задаватьСвойства родителя шаблона
 Шаблон можно настраивать, задавая свойства элемента управления, использующегоПрименение шаблонов в стиле
 Можно использовать стили для автоматического применения шаблонаUser и Custom Controls
 Пользовательские элементы управления
 Состоят из связаных вместеControlTemplate
 ДемонстрацииКонвертеры
 Конвертер – класс, преобразующий один тип в другой
 XAML используетДополнительные свойства
 ConverterParameter – дополнительный параметр
 ConverterCulture – культура конвертера
 НужнаУстановка конвертера
 Для использования конвертера:
 Необходимо указать пространство имен, где находитсяКонвертер
 ДемонстрацияПривязка к данным
 Привязка к данным – это создание связи междуОбъекты связи
 Binding – объекты этого класса задают связь
 В XAMLПростая привязка к данным
 ДемонстрацияПривязка к коллекциям
 Некоторые элементы отображают много элементов
 ListBox, ListView
 ОсобенностиКоллекции для привязки
 Обычные коллекции
 Не поддерживают динамического обновления
 Специальные коллекции
Простая привязка к коллекциям
 ДемонстрацияШаблоны данных
 Простая привязка коллекции
 Вызывает ToString()
 Очень ограничена в применении
Пример шаблона
 <DataTemplate x:Key="dt">
 	 <Image Source={Binding  
  Шаблон панели
 Для ListBox можно задать шаблон панели
 Расположение элементов нужнымПривязка к шаблону
 ДемонстрацияПривязки
 Любое свойство можно можно связать с любым другим объектом, свойством,Класс Binding
 ElementName – имя элемента-источника при привязке к элементу WPF
Привязка к элементу WPF
 <Slider Name="Slider1" Minimum="0" Maximum="100" SmallChange="1"/>
  Привязка к объекту
 Привязка к статическому объекту системы
 <Label Background="{Binding Source={x:StaticПривязки
 Демонстрация



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Программирование на C# 4 и .NET 4 Лекция 15. WPF


Слайд 2
Описание слайда:
Шаблон элемента управления Элементы управления WPF спроектированы таким образом, чтобы полностью отделить функциональность элемента от его визуального оформления Чтобы по новому оформить пользовательский интерфейс элемента WPF, нужно создать новый шаблон элемента управления Шаблон элемента – XAML, описывающий оформление элемента управления Шаблон элемента управления определяется в элементе <ControlTemplate> <Button Content="Button" Width="100" Height="30"> <Button.Template> <ControlTemplate> <Rectangle Fill="RoyalBlue"/> </ControlTemplate> </Button.Template> </Button>

Слайд 3
Описание слайда:
ControlTemplate Для отображения содержимого элемента управления в шаблоне элемента управления используются элементы <ContentPresenter> для элементов управления содержимым (для отображения свойства Content) <ItemsPresenter> для элементов элементами (для отображения свойства Items) Для правильной работы <…Presenter> необходимо указать атрибут TargetType у ControlTemplate <ControlTemplate TargetType="{x:Type Button}"> <Border BorderBrush="Chocolate" BorderThickness="3"> <Grid> <Rectangle Fill="RoyalBlue"/> <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/> </Grid> </Border> </ControlTemplate>

Слайд 4
Описание слайда:
Шаблон как ресурс Обычно шаблоны определяются в ресурсах, что их можно было использовать многократно <Window.Resources> <ControlTemplate x:Key="ButtonTemplate" TargetType="{x:Type Button}"> ….. </ControlTemplate> </Window.Resources> <Button Template="{StaticResource ButtonTemplate}" Content="Button" Width="100" Height="30"/>

Слайд 5
Описание слайда:
Триггеры в шаблоне Триггеры задаются в коллекции ControlTemplate.Triggers Триггеры необходимо задавать в конце ControlTempplate, чтобы они имели доступ к объектам шаблона В объектах Triggers можно определять объекты Animation

Слайд 6
Описание слайда:
Свойства родителя шаблона Шаблон можно настраивать, задавая свойства элемента управления, использующего этот шаблон. Для настройки шаблона используется TemplateBinding <ControlTemplate x:Key="ButtonTemplate“ TargetType="{x:Type Button}"> <Border BorderThickness="{TemplateBinding BorderThickness}"> … <Button Template="{StaticResource ButtonTemplate}" BorderThickness="3"> Другой способ, использование Binding Fill="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Background}“

Слайд 7
Описание слайда:
Применение шаблонов в стиле Можно использовать стили для автоматического применения шаблона всем элементам данного типа <Style TargetType="{x:Type Button}"> <Setter Property="Template" Value="{StaticResource ButtonTemplate}"/> </Style>

Слайд 8
Описание слайда:
User и Custom Controls Пользовательские элементы управления Состоят из связаных вместе элементов управления с общей функциональностью в общем пользовательском интерфейсе Наследуют класс UserControl Шаблон проекта в VS WPF User Control Library Настраиваемые элементы управления Определяют собственное визуальное оформления и функциональность Наследуют класс Control или ContentControl Шаблон проекта в VS WPF Custom Control Library

Слайд 9
Описание слайда:
ControlTemplate Демонстрации

Слайд 10
Описание слайда:
Конвертеры Конвертер – класс, преобразующий один тип в другой XAML использует их повсеместно Преобразование строки в объект Реализует IValueConverter Методы Convert и ConvertBack object Convert(object value, Type targetType, object parameter, CultureInfo Culture)

Слайд 11
Описание слайда:
Дополнительные свойства ConverterParameter – дополнительный параметр ConverterCulture – культура конвертера Нужна для локализации

Слайд 12
Описание слайда:
Установка конвертера Для использования конвертера: Необходимо указать пространство имен, где находится конвертер <xmlns:src=“clr-namespace:MyProg> Создать в ресурсах экземпляр конвертера <src:MyConverter x:Key=“myconv”> Использовать конвертер в Binding {Binding Converter={StaticResource myconv} }

Слайд 13
Описание слайда:
Конвертер Демонстрация

Слайд 14
Описание слайда:
Привязка к данным Привязка к данным – это создание связи между двумя свойствами разных объектов Не обязательно визуальных Характеристики связи Направление Источник и получатель Динамичность (один раз или постоянно) Сложность (один к одному или привязка к коллекции)

Слайд 15
Описание слайда:
Объекты связи Binding – объекты этого класса задают связь В XAML используются расширение {Binding} В C# - объект Binding Свойства Binding Source – объект-источник привязки ElementName – UI-объект источник привязки Path – путь к свойству привязки XPath – xpath-запрос при привязке к XML Mode: OneWay, TwoWay, OneTime, OneWayToSource

Слайд 16
Описание слайда:
Простая привязка к данным Демонстрация

Слайд 17
Описание слайда:
Привязка к коллекциям Некоторые элементы отображают много элементов ListBox, ListView Особенности таких элементов: Модель содержимого – Items (элементы, значки) Можно задать ItemsSource – источник элементов

Слайд 18
Описание слайда:
Коллекции для привязки Обычные коллекции Не поддерживают динамического обновления Специальные коллекции ObservableCollection<T> Поддерживают динамическое обновление INotifyPropertyChange Позволяет реализовывать оповещение изменения свойства для любого элемента

Слайд 19
Описание слайда:
Простая привязка к коллекциям Демонстрация

Слайд 20
Описание слайда:
Шаблоны данных Простая привязка коллекции Вызывает ToString() Очень ограничена в применении Привязка с шаблонами данных «Второй уровень» привязки Задается шаблон В шаблоне можно осуществлять простую или сложную привязку свойств Можно делать следующий уровень иерархии и т.д.!

Слайд 21
Описание слайда:
Пример шаблона <DataTemplate x:Key="dt"> <Image Source={Binding Path=FullName}/> </DataTemplate> …. ItemTemplate="{StaticResource dt}" Осуществит привязку свойства Source рисунка к пути к файлу

Слайд 22
Описание слайда:
Шаблон панели Для ListBox можно задать шаблон панели Расположение элементов нужным образом

Слайд 23
Описание слайда:
Привязка к шаблону Демонстрация

Слайд 24
Описание слайда:

Слайд 25
Описание слайда:

Слайд 26
Описание слайда:

Слайд 27
Описание слайда:
Привязки Любое свойство можно можно связать с любым другим объектом, свойством, коллекцией. Основа привязки данных – класс Binding Связывает два свойства: источник и конечное свойство

Слайд 28
Описание слайда:
Класс Binding ElementName – имя элемента-источника при привязке к элементу WPF Source – имя объекта при привязке не к элементу WPF Path – путь к свойству в объекте-источнике Mode – направление привязки RelativeSource – задает источник связывания, относительно текущего элемента в визуальном дереве.

Слайд 29
Описание слайда:
Привязка к элементу WPF <Slider Name="Slider1" Minimum="0" Maximum="100" SmallChange="1"/> <Label Height="25" Width="100"> <Label.Content> <Binding ElementName="Slider1" Path="Value"/> </Label.Content> </Label> <Label Height="25" Width="100" Content="{Binding ElementName=Slider1, Path=Value}« Margin="202,174,200,112" />

Слайд 30
Описание слайда:
Привязка к объекту Привязка к статическому объекту системы <Label Background="{Binding Source={x:Static SystemColors.WindowColor}}"/> Привязка к объекту <Window.Resources> <MyClass x:Key="myClass"/> </Window.Resources> <TextBox Text="{Binding Source={StaticResource myClass}, Path=MyString, Mode=TwoWay}" />

Слайд 31
Описание слайда:
Привязки Демонстрация


Скачать презентацию на тему Программирование на C# 4 и .NET 4 можно ниже:

Похожие презентации