다음을 통해 공유


Style.BasedOn 속성

정의

현재 스타일의 기준이 되는 정의된 스타일을 가져오거나 설정합니다.

public:
 property System::Windows::Style ^ BasedOn { System::Windows::Style ^ get(); void set(System::Windows::Style ^ value); };
public System.Windows.Style BasedOn { get; set; }
[System.Windows.Markup.Ambient]
public System.Windows.Style BasedOn { get; set; }
member this.BasedOn : System.Windows.Style with get, set
[<System.Windows.Markup.Ambient>]
member this.BasedOn : System.Windows.Style with get, set
Public Property BasedOn As Style

속성 값

현재 스타일의 기준이 되는 정의된 스타일입니다. 기본값은 null입니다.

특성

예제

WPF의 스타일을 확장하거나 상속할 수 있는 여러 가지 방법이 있습니다. 스타일은 이 속성을 통해 다른 스타일을 기반으로 할 수 있습니다. 이 속성을 사용하는 경우 새 스타일은 새 스타일에서 명시적으로 다시 정의되지 않은 원래 스타일의 값을 상속합니다. 다음 예제에서 는 Style2 의 값을 상속 Control.Background 하고 값을 Blue추가합니다 Control.ForegroundYellow.


<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

<Style x:Key="Style2" BasedOn="{StaticResource Style1}">
  <Setter Property="Control.Foreground" Value="Blue"/>
</Style>

마찬가지로 새 스타일이 요소의 스타일을 기반으로 하는 다음 예제와 같이 스타일은 기존 WPF 요소의 TextBlock 스타일을 기반으로 할 수 있습니다.

  <Style
x:Key="TitleText"
BasedOn="{StaticResource {x:Type TextBlock}}"
TargetType="{x:Type TextBlock}">
    <Setter Property="FontSize" Value="32pt" />
    <Setter Property="Foreground">
      <Setter.Value>
        <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
          <LinearGradientBrush.GradientStops>
            <GradientStop Offset="0.0" Color="#90C117" />
            <GradientStop Offset="1.0" Color="#5C9417" />
          </LinearGradientBrush.GradientStops>
        </LinearGradientBrush>
      </Setter.Value>
    </Setter>
    <Setter Property="RenderTransform">
      <Setter.Value>
        <TranslateTransform X="0" Y="10"/>
      </Setter.Value>
    </Setter>
  </Style>

참고

속성을 사용하여 스타일을 TargetType 만들고 속성을 정의하는 TargetType 다른 스타일을 기반으로 하는 경우 파생 스타일의 대상 형식은 기본 스타일의 형식과 동일하거나 파생되어야 합니다.

특정 형식에 대해 정의된 스타일은 다음 예제와 같이 다른 스타일을 기반으로 할 수도 있습니다.

<Style TargetType="{x:Type Button}" BasedOn="{StaticResource Style1}">
  <Setter Property="Foreground" Value="Green"/>
</Style>

설명

각 스타일은 하나의 BasedOn 값만 지원합니다.

XAML 특성 사용

<object BasedOn="myStyle" .../>

XAML 값

myStyle 기존 스타일입니다. 일반적으로 태그 확장 및 WPF XAML 을 사용하여 기존 스타일을 참조합니다.

적용 대상