Ресурсы. Стили. Анимация. Лекция 15. Ресурсы Стили Анимация.

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



Advertisements
Похожие презентации
Ресурсы WPF Два типа ресурсов WPF: объектные ресурсы (object resource) – определенный.NET-объект, который можно использовать многократно; ресурсы сборки.
Advertisements

Классы Windows Presentation Foundation System.Object DispatcherObject ApplicationDependencyObject Visual UIElement FrameworkElement Page Shape TextBlock.
Microsoft TechDays Александр Шер Разработчик ООО «Айко»
Программирование на C# 4 и.NET 4 Лекция 15. WPF. Шаблон элемента управления Элементы управления WPF спроектированы таким образом, чтобы полностью отделить.
Microsoft TechDays Александр Шер Разработчик ООО «Айко»
Михаил Черномордиков Developer Evangelist, Microsoft Россия
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Dependency Property Расширение разметки (Markup Extensions) Привязки (binding) Лекция 13.
СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – Приложение, входящее в состав пакета Microsoft Office (разработано компанией Microsoft).
Использование анимационных эффектов и ссылок при создании презентаций.
Microsoft TechDays Роман Здебский Эксперт по технологиям разработки ПО Microsoft.
Отладка программы. Классификация ошибок 1.синтаксические; 2. ошибки времени выполнения; 3.алгоритмические. Синтаксические ошибки, обнаруживает компилятор,
Ekaterina B. Egorkina,© VEELTECH.RU Загрузка и вывод изображений Каким образом можно сохранить картинку в БД, а потом отобразить ее на странице?
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Один из видов презентации на компьютере это набор слайдов, которые можно выводить последовательно друг за другом. Часто такое компьютерное произведение.
СУБД Microsoft Access 2003 ЗНАКОМСТВО. Что такое Access? Access – приложение, входящее в состав пакета Microsoft Office для разработки баз данных и осуществления.
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
OOП Инна Исаева. Подпрограмма – это большая программа, разделённая на меньшие части. В программе одна из подпрограмм является главной. Её задача состоит.
Слезко Полина Сергеевна Учитель информатики Белоярской СОШ Томской области.
Создание базы данных с помощью Конструктора Создание базы данных без помощи Мастера Теперь попробуем создать базу данных без помощи Мастера. При запуске.
Транксрипт:

Ресурсы. Стили. Анимация. Лекция 15

Ресурсы Стили Анимация

Позволяют определять объекты, доступные другим элементам WPF в пользовательском интерфейсе Ресурсный объект определяется один раз, а может использоваться несколько раз Обычно определяются в XAML, но могут определятся и в коде. Объект любого типа может быть определен как ресурс. Каждый элемент WPF определяет коллекцию Resources. Коллекция Resources доступна самому элементу управления, в котором она определена, и элементам управления в его визуальном дереве. Чаще используют коллекцию Windows.Resources

Resources x:Key Resources x:Key x:Key – Задает имя ресурса, на который должны ссылаться желающие использовать этот ресурс. x:Key – должен быть уникален в той коллекции ресурсов, где определен, а не во всем документе Использование : StaticResource Hello DynamicResource Hello StaticResource StaticResource – ресурс определяется ( ищется ) только один раз DynamicResource DynamicResource – ресурс определяется каждый раз, когда это необходимо ( больше накладных расходов ) Ресурсы ищутся в коллекции ресурсов текущего элемента управления и в коллекциях ресурсов элементов выше в визуальном дереве до первого найденного ресурса с подходящим ключом.

Ресурсы

Resources Коллекция Resources – свойство FrameworkElement, а следовательно имеется и у любого его наследника. Resources – словарь (IDictionary) Добавление в словарь элемента. Метод Add Resources.Add("StartDate", DateTime.Now); myButton.Resources.Add("StartDate", DateTime.Now); Доступ к ресурсу элемента – как к словарю DateTime start = (DateTime)Resources["StartDate"]; DateTime end = (DateTime)grid.Resources[EndDate"]; Поиск ресурса в словарях вверх по визуальному дереву DateTime dt2 = (DateTime)FindResource("StartDate"); Безопасный поиск ресурса в словарях вверх по визуальному дереву Brush brush = (Brush)TryFindResource("MyBrush"); Brush redBrush = myButton.TryFindResource(RedBrush") as Brush; Изменение ресурса grid.Resources["myBrush"] = Brushes.Blue;

На уровне элемента Доступно элементу и всем ниже лежащим элементам в его визуальном дереве На уровне окна Доступно всем элементам в окне На уровне приложения Доступно всем элементам во всех окнах В отдельных словарях ресурсов Доступно в том месте, где подключен словарь Может быть доступно нескольким приложениям

Ресурсы могут хранятся в отдельном файле, словаре. XAML Могут использоваться в любом месте приложения Словарь (XAML файл ): ResourceDictionary xmlns=" xmlns:x=" x:Key x:Key ResourceDictionary

Подключение словарей Resources ResourceDictionary MergedDictionaries ResourceDictionary Source MergedDictionaries ResourceDictionary Resources Использование ресурсов

Словари ресурсов

Ресурсы Стили Анимация

Стиль – это коллекция свойств, которые могут быть применены к объекту. Определяют общий набор характеристик Могут определять характеристики не связанные с форматированием. Любое Dependency Property. Поддерживают триггеры Стили устанавливают первоначальные характеристики, которые могут переопределяться.

Стили

Стили, обычно создаются в ресурсах Stylex:KeyTargetType Setter PropertyValue Style Style Использование : Могут создаваться и напрямую в элементе :

Коллекция Setters Свойства класса Setter: Property – какое свойство устанавливаем Value – значение Если сложное значение, то можно устанавливать и так :

Один стиль может применятся для разных типов элементов ( не рекомендуется ). Необходимо указать для какого типа задается свойство. …. TargetType Если указывается TargetType, то все свойства подразумеваются для этого типа

x:Key Свойство x:Key у стиля должно быть задано всегда, чтобы на него можно было сослаться. x:Key TargetType Но. Если свойство x:Key не задано, то стиль автоматически применяется для всех элементов типа заданного в свойстве TargetType …… Можно отменить автоматическое применение стиля к элементу задав свое свойство Style другим стилем или {x:Null}. Элемент может переопределить свойство, установленное стилем, явно задав его значение ( возможно благодаря возможностям DependencyProperty).

BaseOn Свойство BaseOn – может указывать на стиль от которого наследуется этот стиль. Может дополнять и переопределять свойства заданные в родительском стиле. ………….. Наследник должен быть предназначен для того же типа ( т. е. иметь такое же значение TargetType)

Коллекция Setters Коллекция Resources Свойство BasedOn Свойство TargetType Triggers Коллекция Triggers

Внесение простых изменений в зависимости от различных событий Декларативно Style.Triggers Добавляются в коллекцию Style.Triggers

Триггеры

Trigger Trigger – Триггер свойств. Наблюдает за свойством и активизируется, когда значение свойства будет равно Value MultiTrigger MultiTrigger – Мультитриггер. Наблюдает за множеством свойств и активизируется, когда значение всех свойств будет равно значениям Value DataTrigger DataTrigger – Триггер данных. Наблюдает за связанным свойством (Binding). MultiDataTrigger MultiDataTrigger – отслеживает множество связанных свойств EventTrigger EventTrigger – триггер событий. Инициирует серию объектов Action при порождении указанного события.

Свойство, за которым происходит наблюдение указывается в свойстве Property= свойство Значение свойства, при котором должен активироваться триггер, указывается в свойстве Value. Setters – коллекция установщиков Setter, которые устанавливают свойства элемента в случае активации триггера. Как только триггер становится неактивным, элементу управления возвращается его исходный вид.

Аналогично Trigger, но отслеживается несколько свойств одновременно. Отслеживаемые свойств задаются в коллекции MultiTrigger.Conditions объектами Condition

DataTrigger и MultiDataTrigger Такие же как и Trigger и MultiTrigger, но отслеживают связанные данные. Binding Вместо свойства Property имеется свойство Binding

В отличии от других триггеров, которые отслеживают значение свойства и сопоставляют его с указанным значением, триггеры событий указывают события и активизируются при его порождении. Содержит коллекцию Actions вместо коллекции Setters. Коллекция Actions содержит набор действий, которые должны быть выполнены при активации триггера. Анимация

Ресурсы Стили Анимация

Изменение свойств в течении промежутка времени Анимировать можно практически все свойства элемента управления Для анимации используются классы Animation ( более 40 классов ) Классы Animation: Линейные анимации Анимации по ключевым кадрам Анимация на основе путей

Линейная. Классы имеют формат имени Animation Например : DoubleAnimation, ColorAnimation, Int32Animation Анимация на основе ключевых кадров изменяет свойство, используя несколько точек маршрута – ключевых кадров. Поток анимации запускается и проходит через каждый ключевой кадр. AnimationUsingKeyFrames Например : DoubleAnimationUsingKeyFrames Анимация на основе путей использует объект Path. Используется для анимации свойств, связанных с перемещение объектов. AnimationUsingPath Например : DoubleAnimationUsingPath

Анимация

Организует анимацию в пользовательском интерфейсе и управляет ею. Содержит коллекцию Children, содержащую объекты Animation. Все объекты Animation, создаваемые в XAML, должны содержаться в объекте Storyboard. Если какое - либо свойство в Animation не заполнено, то используется свойство из Storyboard Все дочерние классы Animation запускаются одновременно Storyboard Набор анимаций для одного элемента TargetName = button1 – Конечный элемент для анимации. TargetProperty = Button.Width – Анимируемое свойство Свойства TargetName и TargetProperty являются прикрепленными, поэтому могут быть установлены в классе Animation

Duration Duration – длительность анимации AutoReverse AutoReverse – воспроизведение в обратном порядке после завершения BeginTime BeginTime – время начала запуска относительно времени анимации. 0:0:5 – 5 секунд AccelerationRatio AccelerationRatio – задает ускорение в начале анимации DecelerationRatio DecelerationRatio – задает замедление в конце анимации RepeateBehavior RepeateBehavior – задает повторяемость анимации Свойства линейной анимации : From From - начальное значение свойства для анимации. Если не указано, то используется текущее свойство элемента To To – конечное значение свойства By By – значение приращение. Используется, если To не задано.

Анимация может быть добавлена непосредственно в коллекцию Triggers элемента управления

Анимация элемента

Какую анимацию не стоит делать Лекция Романа Здебского Лучшие практики разработки производительных и интерактивных приложений на WPF