Style 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
형식의 인스턴스 간에 속성, 리소스 및 이벤트 처리기를 공유할 수 있습니다.
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface INameScope
interface IAddChild
interface IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
inherit DispatcherObject
interface IAddChild
interface INameScope
interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
- 상속
- 특성
- 구현
예제
다음 예제에서는 의 속성에 Background 영향을 줄 스타일 선언을 보여 주는 Control합니다.
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
위의 스타일을 적용하려면 다음을 수행합니다.
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
속성을 사용하여 지정된 형식의 모든 요소에 스타일을 적용할 TargetType 수도 있습니다. 스타일에 대상 형식을 추가하면 더 이상 구문으로 설정 ClassName.PropertyName 하려는 속성을 정규화할 필요가 없습니다. 다음 예제에서는 모든 TextBlock 요소에 적용할 스타일을 정의합니다.
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontFamily" Value="Segoe Black" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontSize" Value="12pt" />
<Setter Property="Foreground" Value="#777777" />
</Style>
메모
많은 WPF 컨트롤은 다른 WPF 컨트롤의 조합으로 구성되므로 형식의 모든 컨트롤에 적용되는 스타일을 만들면 광범위한 영향을 미칠 수 있습니다. 예를 들어 컨트롤을 대상으로 TextBlockCanvas하는 스타일을 만들면 캔버스와 같은 다른 컨트롤의 일부인 경우에도 TextBlock 캔버스의 모든 TextBlock 컨트롤에 스타일이 ListBox적용됩니다.
정의된 스타일에서 확장하거나 상속하는 방법에 대한 자세한 내용은 페이지를 참조 BasedOn 하세요.
설명
파생 FrameworkElement 되는 모든 요소에 대해 설정할 Style 수 있습니다FrameworkContentElement. 스타일은 가장 일반적으로 섹션 내의 리소스로 선언됩니다 Resources . 스타일은 리소스이므로 모든 리소스에 적용되는 것과 동일한 범위 지정 규칙을 준수하므로 스타일을 선언하는 위치는 적용할 수 있는 위치에 영향을 줍니다. 예를 들어 애플리케이션 정의 XAML 파일의 루트 요소에서 스타일을 선언하는 경우 애플리케이션의 어디에서나 스타일을 사용할 수 있습니다. 탐색 애플리케이션을 만들고 애플리케이션의 XAML 파일 중 하나에서 스타일을 선언하는 경우 해당 XAML 파일에서만 스타일을 사용할 수 있습니다. 리소스에 대한 범위 지정 규칙에 대한 자세한 내용은 XAML 리소스를 참조하세요.
스타일 선언은 하나 이상의 Setter 개체 컬렉션을 포함하는 개체로 구성 Style 됩니다. 각각 Setter 은 a와 a PropertyValue로 구성됩니다. 속성은 스타일을 적용할 요소의 속성 이름입니다. 스타일이 리소스로 선언된 후 다른 리소스와 마찬가지로 참조할 수 있습니다.
메모
setter 컬렉션에 동일한 Property 속성 값을 가진 setter가 두 개 이상 있는 경우 마지막으로 선언된 setter가 사용됩니다. 마찬가지로 스타일과 요소에서 직접 동일한 속성에 대한 값을 설정하는 경우 요소에 설정된 값이 바로 우선합니다.
WPF(Windows Presentation Foundation) 스타일 지정 및 템플릿 모델을 사용하면 모양을 유지 관리하고 공유할 수 있을 뿐만 아니라 프레젠테이션과 논리를 분리할 수 있습니다. 스타일 지정 및 템플릿 모델에는 UI를 사용자 지정할 수 있는 기능 모음이 포함되어 있습니다. 이 기능 모음에는 클래스와 다음이 포함됩니다 Style .
자세한 내용은 스타일 지정 및 템플릿을 참조하세요.
생성자
| Name | Description |
|---|---|
| Style() |
Style 클래스의 새 인스턴스를 초기화합니다. |
| Style(Type, Style) |
지정된 Type 클래스에 사용할 클래스의 Style 새 인스턴스를 초기화하고 지정된 Style인스턴스를 기반으로 합니다. |
| Style(Type) |
속성
| Name | Description |
|---|---|
| BasedOn |
현재 스타일의 기초가 되는 정의된 스타일을 가져오거나 설정합니다. |
| Dispatcher |
연결된 이 값을 DispatcherDispatcherObject 가져옵니다. (다음에서 상속됨 DispatcherObject) |
| IsSealed |
스타일이 읽기 전용이고 변경할 수 없는지 여부를 나타내는 값을 가져옵니다. |
| Resources |
이 스타일의 범위 내에서 사용할 수 있는 리소스 컬렉션을 가져오거나 설정합니다. |
| Setters |
개체 EventSetter 의 Setter 컬렉션을 가져옵니다. |
| TargetType |
이 스타일이 의도된 형식을 가져오거나 설정합니다. |
| Triggers |
지정된 조건에 따라 속성 값을 적용하는 개체의 TriggerBase 컬렉션을 가져옵니다. |
메서드
| Name | Description |
|---|---|
| CheckAccess() |
호출 스레드에 이 DispatcherObject액세스 권한이 있는지 여부를 확인합니다. (다음에서 상속됨 DispatcherObject) |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
이에 Style대한 해시 코드를 반환합니다. |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| RegisterName(String, Object) |
현재 이름 범위에 새 이름 개체 쌍을 등록합니다. |
| Seal() |
변경할 수 없도록 이 스타일과 모든 팩터리 및 트리거를 잠깁니다. |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
| UnregisterName(String) |
이름 범위에서 이름 개체 매핑을 제거합니다. |
| VerifyAccess() |
호출 스레드가 이에 DispatcherObject액세스할 수 있도록 합니다. (다음에서 상속됨 DispatcherObject) |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IAddChild.AddChild(Object) |
자식 개체를 추가합니다. |
| IAddChild.AddText(String) |
개체에 노드의 텍스트 내용을 추가합니다. |
| INameScope.FindName(String) |
제공된 식별 이름이 있는 개체를 반환합니다. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
지정된 앰비언트 속성을 현재 범위에서 사용할 수 있는지 여부를 쿼리합니다. |