угого рівня, які, в свою чергу, поділяються до рівня векторних фігур і властивостей / дій. Це дозволяє легко задати стиль для будь-якого елемента, наприклад, Button (кнопка).
Засоби розробки
Для роботи з WPF вимагається любой.NET-сумісний мову. У цей список входить безліч мов: C #, VB, C + +, Ruby, Python, Delphi (Prism), Lua і багато інших. Для повноцінної роботи може бути використана як Visual Studio, так і Expression Blend. Перша орієнтована на програмування, а друга - на дизайн і дозволяє робити багато речей, не вдаючись до ручного редагуванню XAML. Приклади цьому - анімація, стилізація, стану, створення елементів управління і так далі.
Можливості надає широкий спектр можливостей по створенню інтерактивних настільних додатків:
Прив'язка даних
Це гнучкий механізм, який дозволяє через розширення розмітки XAML пов'язувати різні дані (від значень властивостей елементів управління до загальнодоступних властивостей, що реалізують поля бази даних через Entity Framework). Прив'язка даних представлена ??класом Binding, який в свою чергу успадкований від MarkupExtension, що дозволяє використовувати прив'язки не тільки в коді але і в розмітці:
Крім основного класу Binding в WPF реалізовано ще декілька механізмів прив'язок: - дозволяє створювати множинні прив'язки, вказуючи кілька елементів-використовується в шаблонах для зв'язування властивості елемента усередині шаблону з властивістю елемента, до якого застосований шаблон-ранжує список прив'язок і вибирає з них властивість (відповідно до пріоритету) до якого буде застосована прив'язка. Якщо прив'язка, що має найвищий пріоритет успішно повертає значення, то немає необхідності обробляти інші прив'язки в списку.
Стилі
Дозволяють створювати стильове оформлення елементів і, як правило, використовуються тільки в розмітці:
Якщо стиль задається в ресурсах (наприклад в словнику ресурсів), то можна використовувати атрибут x: Key для вказівки унікального ключа. Потім в елементі управління, до якого необхідно застосувати стиль, потрібно використовувати розширення розмітки StaticResource для зв'язування з цим стилем. Якщо використовувати цей прийом, то стилі не будуть нагромаджувати розмітку.
Шаблони елементів управління
Дозволяють змінювати графічне оформлення елементів і представлені класом ControlTemplate. На відміну від стилів, можна змінювати не тільки графічне представлення елемента, але і його с...