FrameworkElement.Style 속성

정의

레이아웃 및 렌더링 중에 이 개체에 적용되는 instance Style을 가져오거나 설정합니다.

public:
 property Style ^ Style { Style ^ get(); void set(Style ^ value); };
Style Style();

void Style(Style value);
public Style Style { get; set; }
var style = frameworkElement.style;
frameworkElement.style = style;
Public Property Style As Style
<frameworkElement Style="{StaticResource styleResourceKey}"/>

속성 값

개체에 적용된 스타일입니다(있는 경우). 그렇지 않으면 null입니다. 기본 생성 FrameworkElement 의 기본값은 null입니다.

설명

Style 속성을 직접 설정하는 것은 UI 요소의 모양을 스타일 지정하는 가장 일반적인 방법이 아닙니다. 대신 다음 기술 중 하나를 통해 UI 요소의 모양에 영향을 줍니다.

  • 종종 UI 요소의 개별 UI 속성을 XAML의 특성으로 설정합니다. FrameworkElement.Style 은 현재 요소에만 적용되며 StyleFrameworkElement.Style 의 모든 값은 로컬 속성 값으로 덮어쓰여지므로 로컬 값을 설정하는 것이 더 직접적이고 예측 가능합니다. Style 값과 로컬 속성 값이 어떻게 관련되는지에 대한 자세한 내용은 종속성 속성 개요를 참조하세요.
  • 컨트롤 작성자는 일반적으로 템플릿을 사용할 수 있지만 기본 템플릿과 함께 제공되는 컨트롤을 작성합니다. 앱은 리소스에 정의된 스타일의 일부인 새 ControlTemplate을 제공하여 컨트롤을 사용하고 모양을 변경할 수 있습니다. 이 스타일은 일반적으로 스타일을 설정하는 것이 아니라 암시적 스타일 기능을 사용하여 적용됩니다. 자세한 내용은 스타일 지정 컨트롤을 참조하세요.
  • 또한 컨트롤 작성자는 해당 부분에만 스타일 또는 값을 적용할 수 있는 컨트롤의 일부를 참조하는 속성을 노출하므로 컨트롤을 완전히 다시 검사할 필요가 없습니다. 여기서는 FrameworkElement.Style이 아닌 더 구체적인 속성을 설정합니다.
  • 시각적 상태 모델은 사용자에게 시각적으로 표시되는 상태의 변경에 따라 런타임에 컨트롤 스타일을 자주 다시 설정합니다. 예를 들어 컨트롤 템플릿에는 일반적으로 키보드 사용자가 현재 키보드 포커스가 있는 UI의 요소를 볼 수 있도록 컨트롤 모양에 시각적 포커스 표시기를 추가하는 "중요" 상태가 있습니다. 시각적 상태 개념에 대한 자세한 내용은 빠른 시작: 템플릿 제어를 참조하세요.

스타일 내에서 설정된 개별 속성의 값을 변경할 수 있습니다. 예를 들어 이 속성이 스타일에 의해 설정된 경우에도 런타임에 Template 속성을 설정할 수 있습니다. 또는 Setter의 컬렉션에 setter를 추가할 수 있습니다. 그러나 로드된 개체에서 해당 스타일을 사용하는 즉시 Style 은 봉인된 것으로 간주되어야 합니다. Style에 대한 IsSealed 값을 확인하여 이 상태를 검색할 수 있습니다. 스타일은 표시된 UI 페이지의 개체 트리에 연결된 로드된 개체에서 참조되는 즉시 사용 중인 것으로 간주됩니다. Style 및 해당 Setter는 해당 스타일을 사용하는 개체가 Loaded 이벤트를 발생시키는 경우 봉인된 것으로 간주될 수도 있습니다. 사용 중인 스타일의 개별 속성(예: Setters 컬렉션의 속성)을 변경하려고 시도하면 예외가 throw됩니다.

Control에서 파생된 클래스에는 스타일 및 템플릿 애플리케이션과 관련하여 작성자를 제어하는 데 유용한 추가 진입점이 있습니다. FrameworkElement로드되기 전에 호출되는 가상 콜백 OnApplyTemplate을 정의합니다. Control에서 파생된 클래스는 스타일이 사용되기 전에 템플릿에서 설정한 속성 값을 조정하기 위해 이 콜백을 재정의할 수 있습니다.

런타임에 쿼리하는 경우 Style 속성은 적용된 템플릿 또는 활성 시각적 상태에서 제공되는 스타일을 반환하지 않습니다. Style 속성에 의해 명시적으로 설정된 스타일만 반환합니다. 또한 암시적 스타일을 반환하지 않습니다.

적용 대상