Помещение визуальных объектов в оболочку элемента.
Определение визуального объекта — наиболее важный шаг в программировании визуального уровня, но его не достаточно для того, чтобы в…
Определение визуального объекта — наиболее важный шаг в программировании визуального уровня, но его не достаточно для того, чтобы в…
В предыдущем разделе были продемонстрированы лучшие способы обращения с небольшими объемами графического содержимого. За счет использования геометрии, рисунков и…
Хотя во всех примерах, представленных в предыдущих статьях, рисунки объявлялись встроенным образом, общепринятый подход предусматривает помещение некоторой части содержимого…
Как уже известно, абстрактный класс Geometry представляет фигуру или путь. Абстрактный класс Drawing играет дополняющую роль. Он представляет двухмерные…
Как уже было показано, классы геометрии предоставляют наиболее мощный способ создания фигур. Однако геометрии не ограничены элементом Path. Они…
Примеры геометрии, продемонстрированные до сих пор, были сравнительно короткими, состоящими из нескольких точек. Более сложная геометрия концептуально описывается так…
В PathGeometry содержится вся мощь геометрий. Этот объект может рисовать все, что и прочие объекты геометрии, плюс многое другое….
Класс GeometryGroup — неоценимый инструмент для построения сложных фигур из базовых примитивов (прямоугольник, эллипс и линия). Однако он не…
Простейший способ комбинировать геометрические фигуры — воспользоваться объектом GeometryGroup и поместить внутрь него другие объекты, унаследованные от Geometry. Ниже…
В предыдущем разделе был показан ряд классов, унаследованных от Shape, включая Rectangle, Ellipse, Polygon и Polyline. Однако есть еще…
Свойство Opacity делает все содержимое элемента частично прозрачным. Свойство OpacityMask обеспечивает большую гибкость. Его можно использовать для того, чтобы…
В отличие от многих старых технологий построения пользовательских интерфейсов (например, Windows Forms), WPF поддерживает настоящую прозрачность. Это значит, что…
Свойства RenderTransform и RenderTransformOrigin не ограничиваются фигурами. Фактически, класс Shape наследует их от класса UIElement, а это означает, что…
Чтобы трансформировать фигуру, свойству RenderTransform присваивается объект трансформации, который требуется применить. В зависимости от используемого объекта трансформации нужно заполнить…
Огромный объем задач, связанных с рисованием, может быть упрощен благодаря применению трансформации (transform) — объекта, изменяющего способ рисования фигуры…
Кисть BitmapCacheBrush во многих отношениях напоминает VisualBrush. В то время как VisualBrush предоставляет свойство Visual, ссылающееся на другой элемент,…
VisualBrush — необычная разновидность кисти, позволяющая брать визуальное содержимое элемента и использовать его для заполнения любой поверхности. Например, с…
Обычная кисть ImageBrush — это не все, что может понадобиться. Некоторые интересные эффекты можно получить, повторяя графическое изображение по…
Кисть ImageBrush позволяет заполнить область растровым изображением. Возможна работа с наиболее распространенными типами файлов, включая BMP, PNG, GIF и…
Кисть RadialGradientBrush работает подобно LinearGradientBrush. Она также принимает последовательность цветов с разными смещениями. Как и в случае с LinearGradientBrush,…