다음을 통해 공유


Setter.Property 속성

정의

Value를 적용할 속성을 가져오거나 설정합니다.

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

void Property(DependencyProperty value);
public DependencyProperty Property { get; set; }
var dependencyProperty = setter.property;
setter.property = dependencyProperty;
Public Property Property As DependencyProperty
<Setter Property="propertyName"/>

속성 값

값을 적용할 DependencyProperty입니다. 기본값은 null입니다.

예제

이 예제에서는 TextBlock 요소의 스타일에서 Setter 문을 사용하는 방법을 보여 줍니다.

<StackPanel>
    <StackPanel.Resources>
        <!-- Create a Style for a TextBlock to specify that the
             Foreground equals Navy, FontSize equals 14, and
             VerticalAlignment equals Bottom. -->
        <Style TargetType="TextBlock" x:Key="TextBlockStyle">
            <Setter Property="Foreground" Value="Navy"/>
            <Setter Property="FontSize" Value="14"/>
            <Setter Property="VerticalAlignment" Value="Bottom"/>
        </Style>
    </StackPanel.Resources>

    <!-- Apply the TextBlockStyle to 2 different TextBlocks. -->
    <TextBlock Style="{StaticResource TextBlockStyle}" Text="Hello"/>
    <TextBlock Style="{StaticResource TextBlockStyle}" Text="World"/>
</StackPanel>

AttachedPropertyProvider에서 연결된 속성 이름을 지정하여 연결된 속성 값에 setter를 적용할 수도 있습니다. PropertyName 양식입니다. 예를 들어 연결된 속성 Canvas.LeftSetter를 사용하려면 이 XAML을 사용합니다.

<Setter Property="Canvas.Left" Value="100"/>

설명

Setter에서 속성 및 속성을 모두 지정해야 합니다. 그렇지 않으면 예외가 throw됩니다( Setter 가 XAML에서 만들어지거나 코드에서 수정되었는지 여부에 따라 구문 분석 예외 또는 런타임 오류).

코드를 사용하여 Setter instance 액세스하는 경우 부모 StyleIsSealed 속성 값이 true이면 Setter instance 속성의 값을 변경할 수 없습니다. 개별 SetterIsSealed 속성에서도 보고됩니다. 시스템은 런타임이 UI 요소에 스타일을 적용하고 UI에 표시할 때 이러한 속성을 true 로 설정합니다. 봉인된 Setter 를 변경하려고 시도하면 런타임 오류가 발생합니다.

Setter를 사용하여 연결된 속성의 스타일을 지정할 수 있습니다. 이 경우 종속성 속성 이름은 연결된 속성의 정의 형식의 이름을 지정하는 XAML의 정규화된 이름입니다. 예를 들어 을 <Setter Property="AutomationProperties.LiveSetting" Value="Polite" /> 사용하여 모든 컨트롤 또는 UI 요소에 대한 스타일 내에서 AutomationProperties.LiveSetting 연결된 속성 값을 설정할 수 있습니다.

참고

XAML 파서는 한정 클래스를 포함하는 종속성 속성 이름도 허용합니다. 예를 들어 파서는 "Button.Background" 또는 "Control.Background"를 Button 스타일에서 Background 속성에 대한 참조로 해석합니다. 하지만 클래스별로 한정하는 것은 필요하지 않으며 잠재적으로 혼동을 초래할 수 있습니다. 다른 플랫폼에서 XAML을 마이그레이션하는 경우 정규화된 속성 이름 사용이 발생하거나 사용할 수 있습니다.

종속성 속성 식별

설명한 대로 해당 속성이 종속성 속성인 경우에만 Setter 를 사용하여 스타일을 통해 속성을 조정할 수 있습니다. 스타일을 적용하는 시나리오가 있는 UI 속성은 거의 항상 Windows 런타임 종속성 속성으로 구현되며 UI 요소에 대한 종속성 속성이 아닌 설정 가능한 속성은 매우 드뭅니다. Windows 런타임 속성이 종속성 속성인지 확인하려면 원래 속성을 정의하는 형식의 멤버 목록을 검사. 속성이 실제로 종속성 속성인 경우 종속성 속성 식별자도 해당 클래스에 존재하며 해당 식별자는 속성 자체와 이름이 같지만 접미사 속성 이 추가되었습니다. 이 종속성 속성 식별자는 코드를 통한 일부 종속성 속성 시나리오에서 유용한 정적 읽기 전용 속성입니다. 예를 들어 부모 스타일이 아직 봉인되지 않은 한 코드에서 이러한 식별자 값을 사용하여 기존 Setter.Property 값을 조정할 수 있습니다.

사용자 지정 속성에 Setter 사용

사용자 지정 속성의 경우 스타일뿐만 아니라 데이터 바인딩 또는 애니메이션과 같은 다른 시나리오를 지원하려는 경우 속성을 종속성 속성으로 선언해야 합니다. 이렇게 하면 사용자 지정 형식을 참조하는 TargetType을 사용하여 모든 Style에서 사용자 지정 속성의 스타일 지정도 지원됩니다. 자세한 내용은 사용자 지정 종속성 속성 또는 TargetType을 참조하세요.

적용 대상