Поделиться через


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
Наследование
Object IInspectable DependencyObject Brush XamlCompositionBrushBase RadialGradientBrush
Атрибуты

Примеры

Совет

Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе Кисти 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, RadiusXRadiusY и 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

Всегда возвращается null в приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает объект , DispatcherQueue с которым связан данный объект. DispatcherQueue представляет объект, который может получить доступ к потоку DependencyObject пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

(Унаследовано от DependencyObject)
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)

Применяется к

См. также раздел