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


RadialGradientBrush Класс

Определение

RadialGradientBrush закрашивает область радиальным градиентом. Центральная точка определяет источник градиента, а эллипс определяет внешние границы градиента.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

/// [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
Наследование
RadialGradientBrush
Атрибуты

Примеры

Совет

Дополнительные сведения, рекомендации по проектированию и примеры кода см. в разделе Brushes.

Приложения из коллекции WinUI 3 и коллекции WinUI 2 включают интерактивные примеры большинства элементов управления, возможностей и функций WinUI 3 и WinUI 2.

Если они уже установлены, откройте их с помощью следующих ссылок: коллекция WinUI 3 или коллекция WinUI 2.

Если они не установлены, вы можете скачать коллекцию WinUI 3 и коллекцию WinUI 2 из Microsoft Store.

Исходный код можно также получить из GitHub (используйте главную ветвь для WinUI 3 и ветвь winui2 для WinUI 2).

В следующем примере создается радиальный градиент с шестью остановками градиента и используется для рисования прямоугольника.

<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 .

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

Свойства

Center

Возвращает или задает центр эллипса, содержащего градиент.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

CenterProperty

Идентифицирует свойство зависимости Центра.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

GradientOrigin

Возвращает или задает источник градиента (относительно левого верхнего угла).

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

GradientOriginProperty

Определяет свойство зависимости GradientOrigin.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

GradientStops

Получает или задает ограничения градиента кисти.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

InterpolationSpace

Возвращает или задает цветовое пространство, используемое для интерполяции цветов градиента.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

InterpolationSpaceProperty

Идентифицирует свойство зависимостей InterpolationSpace.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MappingMode

Возвращает или задает значение, указывающее, являются ли координаты позиционирования кисти градиента абсолютными или относительными от области вывода.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

MappingModeProperty

Определяет свойство зависимости MappingMode.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

RadiusX

Возвращает или задает радиус оси X эллипса, содержащего градиент.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

RadiusXProperty

Определяет свойство зависимости RadiusX.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

RadiusY

Возвращает или задает радиус оси Y эллипса, содержащего градиент.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

RadiusYProperty

Определяет свойство зависимостей RadiusY.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

SpreadMethod

Получение или установка типа метода распределения, задающего способ рисования градиента, начинающегося или заканчивающегося в границах закрашиваемого объекта.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

SpreadMethodProperty

Определяет свойство зависимости SpreadMethod.

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

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