2011-10-03 10 views
2

Silverlight에서 종속 속성의 전문은 무엇입니까? 나는 많은 사이트를 검색했지만 이것에 대해서는 명확한 생각을하지 않을 것이다. 어느 누구도이 컨텍스트에서 Silverlight에서 사용할 수있는 종속성 속성을 알 수 있습니까?WP7/Silverlight에서 종속성 속성을 사용하는 경우

답변

10

다음은 간단한 경험 법입니다. 컨트롤 (UserControl 또는 사용자 지정 템플릿 컨트롤)을 만드는 경우 종속 속성을 사용하여 새 속성을 추가합니다. 그렇지 않으면 DependencyObject에서 파생 된 모델 또는 뷰 모델 클래스를 만드는 것이 드물며 INotifyPropertyChanged 구현과 함께 표준 속성을 사용하기 만하면됩니다.

종속성 속성은 데이터 바인딩의 기초입니다. DependencyProperty으로 구현되지 않은 속성에서 데이터 바인딩을 사용할 수 없습니다. 유사한 이유 때문에 Storyboard 애니메이션을 사용하여 애니메이션을 제작하려면 속성을 DependencyPropertry으로 구현해야합니다.

+0

안녕하세요. 첨부 된 속성과 DependencyProperty와의 직접적인 관계가 있습니까? 그들은 어떤 차이가 있습니까 ?? –

+1

@Stephan : 그렇습니다 그들은 매우 유사한 것들과 직접적인 관계가 있습니다. 대부분의 경우 종속성 속성은 선언 된 클래스에 할당됩니다. __attached__ 속성은 선언 된 유형이 아닌 다른 유형의 인스턴스에 연결되도록 특별히 설계된 반면, 새로운 기능을 완전히 인식하지 못하는 객체에 추가 기능을 부여 할 수 있습니다. 예 : 'Canvas.Left'는 포함 캔버스가'UIElement'를 포스팅 할 수있게하며,'UIEement' 자체는 이것을 아무것도 알지 못합니다. – AnthonyWJones

+0

@AnthonyWJones : 점심 식사하기 전에 제출하고 수정본을 남겨둔 마지막 시간 : ( –

0

UserControl을 만들면. 당신의 재산은 그와 같은 일반 공공 재산 인 경우 :

public Double MyProperty 
{ 
    get; 
    set; 
} 
  1. 당신은 속성에 스타일을 적용 할 수 없습니다.

  2. 스토리 보드의 해당 속성을 기반으로 한 애니메이션을 적용 할 수 없습니다.

+0

포인트 1에 대해서는 속성을 설정할 수 있다고 생각하지만 ' {Binding}'- 고정 값으로 만 –

+0

이봐, 네 말이 맞아! 내가 그것을 제거 할께, 알았어. – danbord

관련 문제