WPF 속성 (1) 의존 속성

의존 속성은 자신이 값이 없고 Binding을 사용하여 데이터 원본에서 값을 얻을 수 있는 속성이다. 의존 속성을 가진 대상을 의존 대상이라고 한다. 전통적인 개발에서 한 대상이 차지하는 메모리는 new 조작부호를 호출하여 실례화할 때 결정되고 WPF는 대상이 만들어질 때 데이터를 저장하는 공간을 포함하지 않도록 허용한다.데이터가 필요할 때만 기본값을 얻거나 다른 대상의 데이터를 빌려쓰거나 공간을 실시간으로 분배하는 능력을 보존한다. 이런 대상은 의존 대상이고 이런 실시간으로 데이터를 얻는 능력은 의존 속성에 의해 이루어진다.
WPF에서 의존 대상의 유형은 Dependency Object이고, 의존 속성의 유형은 Dependency Property이며, Dependency Object는 GetValue와 SetValue 두 가지 방법을 가지고 있다.
        public object GetValue(DependencyProperty dp)
        {

        }

        public void SetValue(DependencyProperty dp, object value)
        {

        }

WPF의 모든 컨트롤은 의존 대상입니다. 의존 속성은 의존 대상을 숙주로 하고 그의 SetValue와GetValue 방법을 빌려 쓰기와 읽기를 해야 합니다. 따라서 사용자 정의 의존 속성을 사용하려면 숙주는 의존 대상의 파생 클래스가 되어야 합니다. 의존 속성은public static readonly 세 개의 수식자 수식이 있고 실례는Dependency Property를 사용합니다.Register 메서드는 다음과 같이 생성됩니다.
public static readonly DependencyProperty NameProperty = DependencyProperty.Register("Name", typeof(string), typeof(Student));

의존 대상은 Binding을 통해 다른 대상에 의존할 수 있다. 즉, 의존 대상은 데이터의 목표로 존재하기 때문에 의존 대상의 의존 속성에 CLR 속성 포장을 추가해야 한다. 이 포장이 있으면 의존 대상을 위해 데이터 노출을 위한 Binding Path를 준비하는 것과 같다.
        public int MyProperty
        {
            get { return (int)GetValue(MyPropertyProperty); }
            set { SetValue(MyPropertyProperty, value); }
        }

또한 귀속 작업을 간소화하기 위해 SetBinding 방법을 사용자 정의할 수 있습니다.
        public BindingExpressionBase SetBinding(DependencyProperty dp, BindingBase binding)
        {
            return BindingOperations.SetBinding(this, dp, binding);
        }

의존 속성을 설명하고 CLR 속성을 사용하여 봉인할 때 프롬프트를 입력하면 vs가 힌트를 준다. 두 번의tab키를 누르면 하나의 표준이 의존 속성에 의해 설명된다. 계속tab키를 누르면 의존 속성의 각 참수를 수정할 수 있다.

좋은 웹페이지 즐겨찾기