2011-04-20 1 views
6

컨트롤을 사용하는 코드에서 값을 설정하려는 레이블을 포함하는 기본 WPF/Silverlight 사용자 정의 컨트롤 코드가 있습니다. 종속성 속성 및 관련 이벤트의 정의에 대한 요구 사항을 단순화하는 방법이 있습니까? 간단한 코딩 작업 (속성, 방법 및 관련 배선) 인 것처럼 보이는 것은 매우 시끄러운 것처럼 보입니다.WPF 및 Silverlight에서 종속성 속성 설치를 단순화하는 방법이 있습니까?

private static DependencyProperty CountProperty; 

    public MyWpfUserControl() 
    { 
     InitializeComponent(); 
     PropertyChangedCallback countChangedCallback = CountChanged; 
     var metaData = new PropertyMetadata(countChangedCallback); 
     CountProperty = DependencyProperty.Register("Count", typeof (int), typeof (MyWpfUserControl), metaData); 
    } 

    public int ItemsCount 
    { 
     get { return (int) GetValue(CountProperty); } 
     set { SetValue(CountProperty, value); } 
    } 

    private void CountChanged(DependencyObject property, 
           DependencyPropertyChangedEventArgs args) 
    { 
     // Set the value of another control to this property 
     label1.Content = ItemsCount; 
    } 
+0

'propdp'를 입력하고 코드의 아무 곳에서나 Tab 키를 두 번 누릅니다. 또한'CountChanged' 속성은 정적 이어야만합니다. – vorrtex

답변

1

종속성 속성이 작동하기에 부적절하고 서두르다는 것을 확신합니다. 사실, 위의 코드 예제에서 버그가 있습니다! WPF 박사에게 전화해야합니다! 을 사용하여 그를 보여주는 자신의 사이트에 비디오도 있습니다

: 여기

은 당신이 원하는 모든 종속성 속성의 맛 박사 WPF의 조각입니다. 솔직히 나는 그들 자신을 사용하지 않는다. 그러나 나는 그들을 사용하려고 노력하고 있었다. I do에는 미리보기가 내장되어 있습니다.

+0

감사합니다. 나는 이것들을 점검 할 것이다. 몇 시간 동안 확인한 버그를 지적하여 샘플을 기록해 둘 수 있습니까? – WTLNewbie

관련 문제