SolidColorBrush 클래스

정의

단색으로 영역을 그립니다. 단색은 값으로 Color 정의됩니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.SolidColorBrush(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

public ref class SolidColorBrush sealed : Brush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.ISolidColorBrushFactory, 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)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="Color")]
class SolidColorBrush final : Brush
/// [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.UI.Xaml.Markup.ContentProperty(Name="Color")]
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Xaml.Media.ISolidColorBrushFactory, 65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class SolidColorBrush final : Brush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.ISolidColorBrushFactory), 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)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="Color")]
public sealed class SolidColorBrush : Brush
[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.UI.Xaml.Markup.ContentProperty(Name="Color")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Xaml.Media.ISolidColorBrushFactory), 65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class SolidColorBrush : Brush
Public NotInheritable Class SolidColorBrush
Inherits Brush
<SolidColorBrush .../>
-or-
<SolidColorBrush>colorString</SolidColorBrush>
- or -
<SolidColorBrush Color="predefinedColorName"/>
- or -
<SolidColorBrush Color="#rgb"/>
- or -
<SolidColorBrush Color="#argb"/>
- or -
<SolidColorBrush Color="#rrggbb"/>
- or -
<SolidColorBrush Color="#aarrggbb"/>
- or -
<SolidColorBrush Color="sc#scR,scG,scB"/>
- or -
<SolidColorBrush Color="sc#scA,scR,scG,scB"/>
상속
Object IInspectable DependencyObject Brush SolidColorBrush
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

SolidColorBrush를 사용하는 가장 일반적인 방법은 XAML 요소를 리소스 ResourceDictionary로 정의한 다음 나중에 {StaticResource} 태그 확장 또는 {ThemeResource} 태그 확장을 사용하여 UI 정의, 스타일 또는 템플릿의 다른 부분에서 해당 리소스를 참조 하는 것입니다.

<ResourceDictionary>
...
    <SolidColorBrush x:Key="BlockBackgroundBrush" Color="#FF557EB9"/>
...
</ResourceDictionary>
<Border Background="{StaticResource BlockBackgroundBrush}" 
    Width="80" Height="80"/>

SolidColorBrush를 리소스가 아닌 인라인 UI 값으로 정의하는 방법에는 여러 가지가 있습니다.

  • 이름으로 미리 정의된 색을 선택하고 구문 분석할 때 이 색이 SolidColorBrush를 만드는 XAML "바로 가기"를 사용합니다. 예를 들어 다음과 같이 "Red"로 설정할 Fill Rectangle 수 있습니다.
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
  • 단일 단색으로 결합할 빨강, 녹색 및 파랑의 양을 지정하여 32비트 색상표 내에서 색을 만듭니다.
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
<Canvas
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <!-- This rectangle's fill is painted with a red SolidColorBrush,
       described using a named color. -->
  <Rectangle Width="100" Height="100" Fill="Red" />
</Canvas>
SolidColorBrush greenBrush = new SolidColorBrush(Colors.Green);
Windows::UI::Xaml::Media::SolidColorBrush greenBrush{ Windows::UI::Colors::Green() };
auto greenBrush = ref new SolidColorBrush(Colors::Green);

새 SolidColorBrush 개체를 정의하는 또 다른 방법은 FromArgb 정적 유틸리티 메서드를 사용하는 것입니다. 이 값은 원하는 색의 명명된 Colors 값이 없는 경우에 유용합니다.

SolidColorBrush myBrush = new SolidColorBrush(Color.FromArgb(255, 20, 20, 90));
Windows::UI::Xaml::Media::SolidColorBrush myBrush{ Windows::UI::ColorHelper::FromArgb(255, 90, 200, 90) };
auto myBrush = ref new SolidColorBrush(ColorHelper::FromArgb(255, 90, 200, 90));

설명

SolidColorBrush는 앱 UI에서 개체의 Brush 시각적 영역의 일부 또는 전부를 채우는 데 사용할 수 있는 많은 UI 속성에 사용되는 Brush 가장 일반적인 형식입니다. 값을 사용하는 Brush 가장 일반적으로 사용되는 속성의 예는 다음과 Panel.BackgroundTextBlock.ForegroundControl.ForegroundControl.BorderBrushShape.Fill같습니다. Control.Background

이러한 속성의 경우 null 값이 허용되는 경우가 많으며, 그 결과 아무 것도 렌더링되지 않습니다. 요소가 다른 요소와 동일한 좌표 공간에 표시되는 경우 Background 와 같은 속성의 null 값으로 인해 해당 요소가 적중 횟수 테스트를 위해 등록되지 않고 입력 이벤트를 원본으로 사용할 위치를 결정합니다. UI 좌표 공간의 해당 지점에서 발생하는 포인터 이벤트, 제스처 등은 해당 지점의 렌더링에 영향을 주는 속성에 대해 Brush null 이외의 값이 있는 경우에만 검색할 수 있습니다.

값을 사용하는 Transparent SolidColorBrush를 만들 수 있으며, UI에 변경 내용을 시각적으로 적용하지는 않지만(투명) 적중 테스트를 위해 해당 지점을 검색할 수 있습니다. 따라서 null 값이 있는 Brush 속성과 다릅니다. 브러시는 Transparent UI 요소를 통해 오버레이 영역을 만드는 것과 같은 기술에 유용할 수 있으며, 이 경우 적중 시에 요소(예: RectangleBorder 패널)를 사용하여 적중 테스트를 가로챌 수 있습니다. 아래 요소가 자체 적중 테스트를 수행할 수 없지만 입력 이벤트를 검색하려는 경우 이 작업을 수행할 수 있습니다. 적중 횟수 테스트에 대한 자세한 내용은 마우스 상호 작용의 "적중 테스트" 섹션을 참조하세요.

브러시를 사용하는 속성은 전환 또는 장식 애니메이션의 일부로 애니메이션 효과를 적용할 수 있습니다. 일반적으로 전체 SolidColorBrush 개체에 애니메이션 효과를 주지 않고 불연속 개체 애니메이션을 사용해야 하며 효율적이고 미적 요소도 아닙니다. 대신 속성 대상을 사용하여 값에 애니메이션 Color 효과를 주는 전용 애니메이션 형식 중 하나를 사용하여 값에 애니메이션 효과를 Color 줄 수 있습니다. 이것은 일반적으로 Storyboard 일부가 되는 것을 .(SolidColorBrush.Color) 관련시킵니다. TargetProperty 값입니다. 속성 대상 지정 및 SolidColorBrush 또는 기타 Brush 값을 사용하는 속성에 애니메이션 효과를 주는 방법에 대한 자세한 내용은 Storyboarded 애니메이션을 참조하세요.

SolidColorBrush는 다른 파생 형식 Brush 과 마찬가지로 LinearGradientBrush 공유 가능한 개체입니다 ImageBrush. 공유 가능하므로 SolidColorBrush는 XAML에서 리소스 ResourceDictionary로 정의되기도 합니다. XAML에서 공유 가능한 리소스를 사용할 경우의 이점은 값을 한 번만 만들어 여러 속성에 적용한다는 것입니다.

값을 적용하면 UIElement.Opacity 개체에 적용된 SolidColorBrush 속성의 색 모양이 변경됩니다. 값은 UIElement.Opacity 겹치는 개체의 레이아웃에 따라 누적될 수 있습니다. 순 불투명도 값이 1인 경우에만 색이 예상대로 표시됩니다. 겉으로 보이는 색에도 Brush.Opacity 비슷한 영향을 줄 수 있는 속성도 있습니다. Brush.Opacity 는 페이드 인 또는 페이드 아웃 효과에 대해 의도적으로 애니메이션 효과를 적용하지 않는 한 일반적으로 기본값 1로 남아 있습니다.

XAML 리소스로 브러시

Brush XAML(SolidColorBrush, LinearGradientBrush, ImageBrush)에서 선언할 수 있는 각 형식은 해당 브러시를 앱 전체에서 리소스로 다시 사용할 수 있도록 리소스로 정의하기 위한 것입니다. 형식에 Brush 대해 표시된 XAML 구문은 브러시를 리소스로 정의하는 데 적합합니다. 브러시를 리소스로 선언하는 경우 나중에 다른 UI 정의에서 해당 리소스를 참조하는 데 사용할 x:Key 특성 도 필요합니다. XAML 리소스 및 x:Key 특성을 사용하는 방법에 대한 자세한 내용은 ResourceDictionary 및 XAML 리소스 참조를 참조하세요.

브러시를 리소스로 선언하면 UI를 생성하는 데 필요한 런타임 개체 수를 줄일 수 있다는 장점이 있습니다. 이제 브러시는 개체 그래프의 여러 부분에 대한 값을 제공하는 공통 리소스로 공유됩니다.

Windows 런타임 XAML 컨트롤에 대한 기존 컨트롤 템플릿 정의를 살펴보면 템플릿에서 브러시 리소스를 광범위하게 사용하는 것을 볼 수 있습니다. 이러한 리소스의 대부분은 시스템 리소스이며 { StaticResource} 태그 확장 이 아닌 리소스 참조에 {ThemeResource} 태그 확장을 사용합니다. 사용자 고유의 컨트롤 템플릿 XAML에서 시스템 리소스 브러시를 사용하는 방법에 대한 자세한 내용은 XAML 테마 리소스를 참조하세요.

생성자

SolidColorBrush()

색이 없는 클래스의 새 인스턴스를 SolidColorBrush 초기화합니다.

SolidColorBrush(Color)

지정된 SolidColorBrush를 사용하여 Color 클래스의 새 인스턴스를 초기화합니다.

속성

Color

SolidColorBrush의 색을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.SolidColorBrush.Color(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

ColorProperty

Color 종속성 속성을 나타냅니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.SolidColorBrush.ColorProperty(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

Dispatcher

이 개체가 CoreDispatcher 연결된 개체를 가져옵니다. 코드 CoreDispatcher 가 비 UI 스레드에서 시작되는 경우에도 UI 스레드에 액세스할 DependencyObject 수 있는 기능을 나타냅니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.Dispatcher(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
Opacity

Brush의 불투명도 수준을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.Opacity(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
RelativeTransform

상대 좌표를 사용하여 브러시에 적용되는 변형을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.RelativeTransform(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
Transform

브러시에 적용되는 변형을 가져오거나 설정합니다.

UWP용 동등한 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.Transform(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.ClearValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우에 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.GetAnimationBaseValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

에서 종속성 속성 DependencyObject의 현재 유효 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.GetValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

애니메이션 효과를 적용할 수 있는 속성을 정의합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.PopulatePropertyInfo(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

파생 클래스에서 재정의되는 경우 애니메이션 효과를 적용할 수 있는 속성을 정의합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.PopulatePropertyInfoOverride(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.ReadLocalValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject 인스턴스의 특정 DependencyProperty 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

에 종속성 속성 DependencyObject의 로컬 값을 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.SetValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

를 호출 RegisterPropertyChangedCallback하여 이전에 등록한 변경 알림을 취소합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)

적용 대상

추가 정보