LinearGradientBrush 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
선형 그라데이션으로 영역을 그립니다.
UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.LinearGradientBrush(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).
public ref class LinearGradientBrush sealed : GradientBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.ILinearGradientBrushFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LinearGradientBrush final : GradientBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.ILinearGradientBrushFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class LinearGradientBrush final : GradientBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.ILinearGradientBrushFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LinearGradientBrush : GradientBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.ILinearGradientBrushFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class LinearGradientBrush : GradientBrush
Public NotInheritable Class LinearGradientBrush
Inherits GradientBrush
<LinearGradientBrush ...>
oneOrMoreGradientStops
</LinearGradientBrush
- 상속
- 특성
Windows 요구 사항
| 디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
| API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
예제
다음 예제에서는 4가지 색의 선형 그라데이션을 만들고 Rectangle 을 칠하는 데 사용합니다.
<StackPanel>
<!-- This rectangle is painted with a vertical linear gradient. -->
<Rectangle Width="200" Height="100">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Red" Offset="0.25" />
<GradientStop Color="Blue" Offset="0.75" />
<GradientStop Color="LimeGreen" Offset="1.0" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
</StackPanel>
설명
LinearGradientBrush는 앱 UI에서 개체의 Brush 시각적 영역의 일부 또는 전부를 채우는 데 사용할 수 있는 여러 UI 속성에 사용되는 Brush 형식입니다. 값을 사용하는 Brush 가장 일반적으로 사용되는 속성의 예는 다음과 Control.BorderBrushTextBlock.ForegroundControl.BackgroundControl.ForegroundShape.FillPanel.Background같습니다. LinearGradientBrush는 일반적으로 사용되는 SolidColorBrush 형식의 대안입니다.
LinearGradientBrush의 속성과 EndPoint 속성은 StartPoint 상대 좌표 공간에서 두 점을 설명합니다. 이렇게 하면 그라데이션의 방향이 만들어지고, 일반적으로 가로 그라데이션 또는 세로 그라데이션을 지정합니다. 대각선 그라데이션을 사용할 수도 있습니다. LinearGradientBrush에는 일반적으로 속성에 대한 GradientStops 두 개 이상의 GradientStop 값(정렬된 컬렉션)이 있습니다. 각각 GradientStop 은 a Color 와 을 Offset지정합니다. Offset 는 그라데이션을 따라 0( StartPoint)과 1( EndPoint)의 위치를 나타내며, LinearGradientBrush를 값으로 적용하는 UI에 따라 브러시와 해당 그라데이션의 실제 픽셀 길이가 조정됩니다. 값 정의 방법 및 관련 방법에 Offset EndPoint OffsetStartPoint 대한 자세한 내용은 브러시 사용을 참조하세요. 일반적으로 사용하는 것이 일반적입니다.
색 중 GradientStop 하나에 대한 값을 사용할 Transparent 수 있습니다. UI에 변경 내용을 시각적으로 적용하지는 않지만(투명) 적중 테스트를 위해 해당 지점을 검색할 수 있습니다. 적중 횟수 테스트에 대한 자세한 내용은 마우스 상호 작용의 "적중 테스트" 섹션을 참조하세요.
LinearGradientBrush 값은 GradientStop 전환 또는 장식 애니메이션의 일부로 애니메이션 효과를 줄 수 있습니다. 값에 애니메이션 Color 효과를 주는 전용 애니메이션 형식 중 하나를 사용합니다. 일반적으로 .(GradientStop.Color) Storyboard 대한 더 긴 속성 경로의 일부여야 합니다. TargetProperty 값입니다. 속성 대상 지정 및 값을 사용하는 Brush 속성에 애니메이션 효과를 주는 방법에 대한 자세한 내용은 Storyboarded 애니메이션을 참조하세요.
XAML 리소스로 브러시
Brush XAML(SolidColorBrushLinearGradientBrushImageBrush)에서 선언할 수 있는 각 형식은 리소스로 정의되므로 앱 전체에서 해당 브러시를 리소스로 다시 사용할 수 있습니다. 형식에 Brush 대해 표시된 XAML 구문은 브러시를 리소스로 정의하는 데 적합합니다. 브러시를 리소스로 선언하는 경우 나중에 다른 UI 정의에서 해당 리소스를 참조하는 데 사용할 x:Key 특성 도 필요합니다. XAML 리소스 및 x:Key 특성을 사용하는 방법에 대한 자세한 내용은 ResourceDictionary 및 XAML 리소스 참조를 참조하세요.
브러시를 리소스로 선언하면 UI를 생성하는 데 필요한 런타임 개체의 수가 감소한다는 장점이 있습니다. 이제 브러시는 개체 그래프의 여러 부분에 대한 값을 제공하는 공통 리소스로 공유됩니다.
Windows 런타임 XAML 컨트롤에 대한 기존 컨트롤 템플릿 정의를 살펴보면 템플릿이 브러시 리소스를 광범위하게 사용하는 것을 볼 수 있습니다(일반적으로 SolidColorBrushLinearGradientBrush가 아님). 이러한 리소스는 대부분 시스템 리소스이며 { StaticResource} 태그 확장 이 아닌 리소스 참조에 {ThemeResource} 태그 확장을 사용합니다. 사용자 고유의 컨트롤 템플릿 XAML에서 시스템 리소스 브러시를 사용하는 방법에 대한 자세한 내용은 XAML 테마 리소스를 참조하세요.
생성자
| LinearGradientBrush() |
LinearGradientBrush 클래스의 새 인스턴스를 초기화합니다. |
| LinearGradientBrush(GradientStopCollection, Double) |
지정한 LinearGradientBrush과 각도를 가진 GradientStopCollection 클래스의 새 인스턴스를 초기화합니다. |
속성
메서드
적용 대상
추가 정보
피드백
다음에 대한 사용자 의견 제출 및 보기