WPF 학습노트 5 추가 속성

2487 단어 학습 노트
1. 추가 대상이란 하나의 속성이 본래 특정한 대상에 속하지 않지만 특정한 수요로 인해 나중에 추가된다는 뜻이다.
      Like:
2, 다음의 예는 School 클래스를 만들고 그의GradeProperty에 추가 속성을 추가하는 것입니다. (Propa+2Tab 사용)
public class School : DependencyObject

    {



        public static int GetGrade(DependencyObject obj)

        {

            return (int)obj.GetValue(GradeProperty);

        }



        public static void SetGrade(DependencyObject obj, int value)

        {

            obj.SetValue(GradeProperty, value);

        }



        // Using a DependencyProperty as the backing store for Grade.  This enables animation, styling, binding, etc...

        public static readonly DependencyProperty GradeProperty =

            DependencyProperty.RegisterAttached("Grade", typeof(int), typeof(School), new PropertyMetadata(0));

    }

마지막 이 말을 보십시오. 사용한 Dependency Property입니다.RegisterAttached 메서드.
사용 방법 보기:
* 먼저 Human 클래스를 만듭니다.
public class Human : DependencyObject    {     }
* 사용:
  Human human =new Human();
  School.SetGrade(human,6);
  int grade = School.GetGrade(human);
3. 원리:
사실 Dependecny Propery와 마찬가지로 이 추가 속성의 값도 Human의 실례적인 EffectiveValue Entry 그룹에 저장됩니다. 단지 그룹에서 값을 검색하는 데 사용되는 의존 속성은 Human 클래스를 숙주로 하는 것이 아니라 School 클래스를 숙주로 하기 때문입니다.이렇게 해도 당연히 충돌하지 않을 것이다. 왜냐하면 그들은 유일한 글로벌 인덱스가 있기 때문이다
4. 다른 주의사항:
**

좋은 웹페이지 즐겨찾기