2013-07-19 5 views
0

this 자습서를 사용하여 사용자 지정 컨트롤을 작성했습니다. 이제 사용자에게 몇 가지 지침을 제공하는 간단한 메시지 (텍스트 블록)를 사용자 정의 컨트롤에 추가하고 싶습니다. 튜토리얼에서 FileName과 같은 공용 속성을 추가 할 수 있다고 생각하지만 텍스트 블록의 Text 속성을 코드의 속성에 연결하는 방법은 무엇입니까? 그리고 속성이 변경되면 텍스트 블록 메시지가 업데이트되는지 확인하십시오.TextBlock을 속성 값으로 설정하는 방법은 무엇입니까?

페이지에서이 사용자 지정 컨트롤 형식에 대한 여러 컨트롤을 가질 가능성이 있기 때문에 코드를 통해 속성을 통해 메시지를 설정할 수 있다는 생각을 좋아합니다. 나는 그것을 배선하는 데 어려움을 겪고있다.

감사합니다.

+0

관련 코드 및 XAML을 게시하십시오. –

답변

1

이에서 INotifyPropertyChanged를 구현 뒤에 코드가 될 것이다 :

/// <summary> 
/// Interaction logic for MainWindow.xaml 
/// </summary> 
public partial class MainWindow : Window, INotifyPropertyChanged 
{ 
    public event PropertyChangedEventHandler PropertyChanged; 

    private string _fileName; 

    /// <summary> 
    /// Get/Set the FileName property. Raises property changed event. 
    /// </summary> 
    public string FileName 
    { 
     get { return _fileName; } 
     set 
     { 
      if (_fileName != value) 
      { 
       _fileName = value; 

       RaisePropertyChanged("FileName"); 
      } 
     } 
    } 

    public MainWindow() 
    { 
     DataContext = this; 
     FileName = "Testing.txt"; 
    } 

    private void RaisePropertyChanged(string propertyName) 
    { 
     if (PropertyChanged != null) 
     { 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
     } 
    }   
} 

이 재산에 결합하여 XAML 것 :

<TextBlock Text="{Binding FileName}" /> 

편집 :

추가 의 DataContext = 이; 저는 일반적으로 코드 뒤에 바인딩하지 않습니다 (MVVM 사용).

+0

그 모두가 UserCOntrol에 있어야합니다. –

관련 문제