사용자 정의 의존항 속성을 어떻게 만듭니까?

1265 단어 WPF
1. 의존항 속성을 왜 만듭니까?
일부 컨트롤러는 데이터 귀속, 애니메이션을 지원하지 않습니다. 이 문제를 해결하기 위해 의존항 속성을 만들어야 합니다.
2. 의존항 속성을 어떻게 만듭니까?
1> DependencyProperty 클래스의 인스턴스인 속성을 나타내는 객체를 정의합니다.예를 들어, Margin 등록 정보 객체를 정의합니다.
public class A {
    public static readonly DependencyProperty MarginProperty;
};

객체 이름 지정 방법: 일반적으로 속성 객체 + Property
수식자는readonly로 정의되어 클래스의 정적 구조 함수에서만 설정할 수 있음을 나타낸다.
2> 등록 종속성
static A()
{
    FrameworkPropertyMetadata metadata = new FrameworkPropertyMetadata (
    new Thickness(),FrameworkPropertyMetadataOptions.AffectsMeasure);

    MarginProperty = DependencyProperty.Register(
    "Margin", typeof(Thickness), typeof(FrameworkElement), metadata, new                         
    ValidateValueCallback(FrameworkElement.IsMarginValid));
}

Register 매개 변수의 의미는 다음과 같습니다.
  • 속성명
  • 속성에 사용되는 데이터 유형
  • 이 속성을 가진 클래스
  • 추가 속성 설정이 있는 FrameworkPropertyMetadata 객체
  • 속성 검증에 사용되는 리셋 함수
  • 3> 속성 패키지 추가(봉인 의존항 속성)
    public Thickness Margin
    {
        set{SetValue(MarginProperty, value);}
        get{return (Thickness)GetValue(MarginProperty);}
    }

    4> 종속성 일반 사용(Margin)
    myEelment.Margin = new Thickness(5);

    좋은 웹페이지 즐겨찾기