RadialGradientBrush Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
RadialGradientBrush закрашивает область радиальным градиентом. Центральная точка определяет источник градиента, а эллипс определяет внешние границы градиента.
/// [Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Version(1)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
class RadialGradientBrush : XamlCompositionBrushBase
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.XamlContract, 65536)]
class RadialGradientBrush : XamlCompositionBrushBase
[Microsoft.UI.Xaml.CustomAttributes.MUXContractProperty(version=0)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Version(1)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
public class RadialGradientBrush : XamlCompositionBrushBase
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="GradientStops")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.XamlContract), 65536)]
public class RadialGradientBrush : XamlCompositionBrushBase
Public Class RadialGradientBrush
Inherits XamlCompositionBrushBase
- Наследование
- Атрибуты
-
Microsoft.UI.Xaml.CustomAttributes.MUXContractPropertyAttribute MarshalingBehaviorAttribute ThreadingAttribute VersionAttribute ContentPropertyAttribute ContractVersionAttribute
Примеры
Совет
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе Кисти XAML.
Приложение "Коллекция WinUI 3" содержит интерактивные примеры большинства элементов управления, функций и функций WinUI 3. Получите приложение из Microsoft Store или получите исходный код в GitHub.
В следующем примере создается радиальный градиент с шестью остановками градиента и используется для рисования прямоугольника.
<Page
xmlns:media="using:Microsoft.UI.Xaml.Media">
<Rectangle Width="200" Height="200">
<Rectangle.Fill>
<media:RadialGradientBrush>
<GradientStop Color="Blue" Offset="0.0" />
<GradientStop Color="Yellow" Offset="0.2" />
<GradientStop Color="LimeGreen" Offset="0.4" />
<GradientStop Color="LightBlue" Offset="0.6" />
<GradientStop Color="Blue" Offset="0.8" />
<GradientStop Color="LightGray" Offset="1" />
</media:RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Page>
В этом примере создается радиальный градиент, использующий режим абсолютного сопоставления с пользовательскими значениями для Center
, RadiusX
RadiusY
и GradientOrigin
:
<Page
xmlns:media="using:Microsoft.UI.Xaml.Media">
<Rectangle Width="200" Height="200">
<Rectangle.Fill>
<media:RadialGradientBrush
MappingMode="Absolute"
Center="50,50"
RadiusX="100"
RadiusY="100"
GradientOrigin="100,50"
>
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Blue" Offset="1" />
</media:RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
</Page>
Комментарии
Макет градиента
Градиент рисуется в многоточии, который определяется свойствами Center, RadiusX и RadiusY . Начальный цвет градиента определяется в центре эллипса, а конечный — в конце радиуса.
Цвета радиального градиента определяются ограничениями цвета, которые добавляются в свойство коллекции GradientStops. Каждая позиция градиента задает цвет и смещение вдоль градиента.
Начальная точка градиента по умолчанию принимает значение центральной точки и может быть смещена с помощью свойства GradientOrigin.
MappingMode определяет, представляют ли Center, RadiusX, RadiusY и GradientOrigin относительные или абсолютные координаты.
Если параметр MappingMode имеет значение RelativeToBoundingBox
, значения X и Y трех свойств обрабатываются как относительные границы элементов, где (0,0)
представляет верхний левый, (1,1)
а нижний правый — границы элементов для свойств Center, RadiusX и RadiusY , а (0,0)
также представляет центр для свойства GradientOrigin .
Если MappingMode имеет значение Absolute
, то значения X и Y этих трех свойств обрабатываются как абсолютные координаты в пределах границ элемента.
Поддержка версий Windows 10
Градиентная отрисовка поддерживается в Windows 10 версии 1903 (версия 10.0.18362.0) и более поздних версиях. В предыдущих версиях ОС кисть отрисовывает сплошной цвет, заданный свойством FallbackColor
.
Кисти как ресурсы XAML
Каждый из типов кистей , которые можно объявить в XAML (SolidColorBrush, LinearGradientBrush, ImageBrush), предназначен для определения как ресурса, чтобы вы могли повторно использовать эту кисть в качестве ресурса во всем приложении. Синтаксис XAML, показанный для типов кистей , подходит для определения кисти как ресурса. При объявлении кисти в качестве ресурса также требуется атрибут x:Key , который позже будет использоваться для ссылки на этот ресурс из других определений пользовательского интерфейса. Дополнительные сведения о ресурсах XAML и использовании атрибута x:Key см. в статье Справочник по ресурсам ResourceDictionary и XAML.
Преимущество объявления кистей как ресурсов заключается в сокращении количества объектов среды выполнения, необходимых для создания пользовательского интерфейса. Теперь кисть используется как общий ресурс, предоставляющий значения для нескольких частей графа объектов.
Если вы посмотрите на существующие определения шаблонов элементов управления для среда выполнения Windows элементов управления XAML, вы увидите, что шаблоны широко используют ресурсы кисти (хотя обычно это SolidColorBrush, а не LinearGradientBrush). Многие из этих ресурсов являются системными, и они используют расширение разметки {ThemeResource} для ссылки на ресурс, а не расширение разметки {StaticResource}. Дополнительные сведения об использовании кистей системных ресурсов в собственном шаблоне элемента управления XAML см. в разделе Ресурсы темы XAML.
Конструкторы
RadialGradientBrush() |
Инициализирует новый экземпляр класса RadialGradientBrush . |
Свойства
Center |
Возвращает или задает центр эллипса, содержащего градиент. |
CenterProperty |
Идентифицирует свойство зависимости Центра. |
CompositionBrush |
Возвращает или задает объект CompositionBrush , используемый этой кистью XAML. (Унаследовано от XamlCompositionBrushBase) |
Dispatcher |
Всегда возвращается |
DispatcherQueue |
Возвращает объект , |
FallbackColor |
Цвет, используемый для отрисовки на случай, если не удается отобразить CompositionBrush . (Унаследовано от XamlCompositionBrushBase) |
GradientOrigin |
Возвращает или задает источник градиента (относительно левого верхнего угла). |
GradientOriginProperty |
Определяет свойство зависимости GradientOrigin. |
GradientStops |
Получает или задает ограничения градиента кисти. |
InterpolationSpace |
Возвращает или задает цветовое пространство, используемое для интерполяции цветов градиента. |
InterpolationSpaceProperty |
Идентифицирует свойство зависимостей InterpolationSpace. |
MappingMode |
Возвращает или задает значение, указывающее, являются ли координаты позиционирования кисти градиента абсолютными или относительными от области вывода. |
MappingModeProperty |
Определяет свойство зависимости MappingMode. |
Opacity |
Возвращает или задает степень непрозрачности кисти. (Унаследовано от Brush) |
RadiusX |
Возвращает или задает радиус оси X эллипса, содержащего градиент. |
RadiusXProperty |
Определяет свойство зависимости RadiusX. |
RadiusY |
Возвращает или задает радиус оси Y эллипса, содержащего градиент. |
RadiusYProperty |
Определяет свойство зависимостей RadiusY. |
RelativeTransform |
Возвращает или задает преобразование, которое применяется к кисти с использованием относительных координат. (Унаследовано от Brush) |
SpreadMethod |
Получение или установка типа метода распределения, задающего способ рисования градиента, начинающегося или заканчивающегося в границах закрашиваемого объекта. |
SpreadMethodProperty |
Определяет свойство зависимости SpreadMethod. |
Transform |
Получает или задает преобразование, которое применяется к кисти. (Унаследовано от Brush) |
Методы
ClearValue(DependencyProperty) |
Очищает локальное значение свойства зависимостей. (Унаследовано от DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
Возвращает любое базовое значение, установленное для свойства зависимостей, которое применяется в случаях, когда анимация не активна. (Унаследовано от DependencyObject) |
GetValue(DependencyProperty) |
Возвращает текущее действующее значение свойства зависимостей из DependencyObject. (Унаследовано от DependencyObject) |
OnConnected() |
Вызывается, когда кисть впервые используется на экране для рисования элемента. При реализации в производном классе можно создать экземпляр CompositionBrush и предоставить его платформе, задав свойство CompositionBrush . OnDisconnected будет вызываться , когда кисть больше не используется для рисования каких-либо элементов. (Унаследовано от XamlCompositionBrushBase) |
OnDisconnected() |
Вызывается, когда кисть больше не используется для рисования каких-либо элементов. При реализации в производном классе можно безопасно удалить кисть компоновки и другие ресурсы композиции. OnConnected будет вызываться снова, если позже кисть будет использоваться для рисования любых элементов после отключения. (Унаследовано от XamlCompositionBrushBase) |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Определяет свойство, которое можно анимировать. (Унаследовано от Brush) |
PopulatePropertyInfoOverride(String, AnimationPropertyInfo) |
При переопределении в производном классе определяет свойство, которое можно анимировать. (Унаследовано от Brush) |
ReadLocalValue(DependencyProperty) |
Возвращает локальное значение свойства зависимостей, если задано локальное значение. (Унаследовано от DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject . (Унаследовано от DependencyObject) |
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей для Объекта DependencyObject. (Унаследовано от DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback. (Унаследовано от DependencyObject) |