내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본

DependencyObject.SetValue 메서드

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

네임스페이스:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)

public void SetValue(
	DependencyProperty dp,
	Object value
)

매개 변수

dp
형식: System.Windows.DependencyProperty
설정할 종속성 속성의 식별자입니다.
value
형식: System.Object
새 로컬 값입니다.

예외상황
ArgumentException

valuedp 속성에 대해 등록된 올바른 형식이 아닌 경우

제공된 형식이 원래 등록된 종속성 속성에 대해 선언한 형식과 일치하지 않으면 예외가 throw됩니다. value 매개 변수는 항상 적절한 형식으로 제공되어야 합니다.

반면 SetValue의 관리 코드 버전을 사용하려면 DependencyProperty 개체의 입력을 제공해야 합니다. 일반적으로 이 값은 공용 정적 속성에서 가져옵니다. 이 공용 정적 속성은 종속성 속성의 식별자 역할을 하며 종속성 속성 자체를 소유하는 동일한 개체에서 사용할 수 있습니다. 모든 속성이 종속성 속성은 아닙니다. 즉, SetValue의 관리 코드 버전을 사용하면 Silverlight용 관리되는 API의 가능한 모든 속성에 액세스할 수 있는 것이 아니라 종속성 속성에만 액세스할 수 있습니다.

사용자 코드에서는 일반적으로 SetValue 호출이 필요하지 않습니다. 일반적으로 Silverlight 속성 또는 사용자 지정 종속성 속성에는 속성을 래핑하는 CLR 속성이 있으므로 기본 CLR 사용을 통해 속성 값을 설정하기만 하면 됩니다. SetValue 가 일반적으로 사용되는 대표적인 세 가지 경우는 다음과 같습니다.

  • 사용자 지정 종속성 속성을 정의하는 경우. CLR 사용에 대한 속성 set 접근자를 직접 정의하는 작업의 일부로 SetValue를 호출합니다. 자세한 내용은 사용자 지정 종속성 개체 및 종속성 속성을 참조하십시오.

  • 콜백을 정의하는 경우 또는 이미 DependencyProperty 식별자가 전달된 다른 범위에 있는데 해당 범위 내에 상호 작용하고자 하는 종속성 속성이 두 개 이상 있을 가능성이 있는 경우. 이러한 경우에는 SetValue를 호출하고 식별자를 전달하는 것이 대개는 더 간편합니다.

  • DependencyProperty 식별자가 연결된 속성을 참조하는 경우 또는 속성이 연결된 속성인지 CLR 래퍼가 포함된 종속성 속성인지 여부를 확실히 모를 경우. 연결된 속성에도 일반적으로 형식이 더 안전한 전용 get 및 set 접근자가 있습니다. 그러나 식별자가 있는 경우에는 SetValue를 사용하는 것이 더 편리할 수도 있습니다.

JavaScript API 참고 사항

JavaScript의 SetValue 구현에는 상당 부분 다른 점이 있는데 이는 기본적으로 이 메서드의 첫 번째 매개 변수의 입력 형식이 DependencyProperty 개체가 아니라 이름 문자열로 처리되기 때문입니다. JavaScript SetValue 메서드를 사용하면 JavaScript API에서 사용할 수 있는 모든 Silverlight 속성의 값을 설정할 수 있습니다. 그러나 모든 Silverlight 속성은 보다 직접적인 점으로 구분된 JavaScript 속성 구문을 지원하므로 일반적으로 이 메서드를 사용하여 속성 값을 설정할 필요가 없습니다.

버전 메모

특수 모드 정보

Silverlight 3에서는 활성 애니메이션 중에 속성에 대해 SetValue를 호출하면 해당 단일 눈금에 대해서만 결과가 반환됩니다. SetValue가 이 값을 적절하게 변경하지만, 다음 틱에서는 설정된 값이 소멸됩니다. 새 값이 매우 빠르게 변경되어 사용자가 이를 쉽게 알 수 없기 때문에 시각적으로는 아무 일도 일어나지 않은 것처럼 보이는 경우가 일반적입니다. SetValue  호출은 애니메이션의 기준 값(GetAnimationBaseValue의 결과)을 변경하지 않습니다. 애니메이션을 중지하면 기준 값이 애니메이션 시작 전에 속성이 포함하고 있었던 값에 반환됩니다. 이 동작은 응용 프로그램이 Silverlight 3을를 대상으로 하는 경우 특수 모드 동작으로 유지됩니다.

Silverlight 4 이상에서는 활성 애니메이션 중에 속성 값이 변경되면 해당 SetValue 호출로 인해 애니메이션의 기준 값이 수정됩니다. 애니메이션이 중지되면 애니메이션 중에 설정된 새 기준 값으로 돌아갑니다. 이 동작은 WPF의 동작과 같습니다.

다음 예제에서는 간단한 종속성 속성 선언을 보여 줍니다. SetValue 를 호출하면 새 종속성 속성의 CLR 래퍼에 대한 set 접근자 구현 전체가 구성됩니다.


public class Fish : Control
{
    public static readonly DependencyProperty SpeciesProperty =
    DependencyProperty.Register(
    "Species",
    typeof(string),
    typeof(Fish), null
    );
    public string Species
    {
        get { return (string)GetValue(SpeciesProperty); }
        set { SetValue(SpeciesProperty, (string)value); }
    }
}


Silverlight

5, 4, 3에서 지원

Windows Phone용 Silverlight

Windows Phone OS 7.1, Windows Phone OS 7.0에서 지원

Silverlight에서 지원되는 운영 체제 및 브라우저에 대한 자세한 내용은 지원되는 운영 체제 및 브라우저을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft