2012-01-07 90 views
0

我有一個代碼隱藏類,而我想結合我的Label控件的屬性:控件綁定到該對象的代碼隱藏屬性

public MainWindow() 
    { 
     InitializeComponent(); 
     this.Label1Content = "some text"; 
    } 

    public string Label1Content { get; set; } 

但結合失敗。顯然,我在綁定配置中缺少一些東西,但我不知道是什麼。我知道如何使用C#綁定這個屬性,但是如何使用XAML綁定它並且不聲明DataContext?

回答

1

如果你不希望任何位置聲明一個DataContext,你可以使用

<Label Content="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=Label1Content}" /> 
1

你還是要聲明一個DataContext,即使是同一控制:

public MainWindow() 
{ 
    InitializeComponent(); 

    DataContext = this; 

    this.Label1Content = "some text"; 
} 

而且,控制器必須執行INotifyPropertyChanged,以便您可以提升PropertyChanged事件。你的財產應該像這樣獨立:

public string _lable1Content; 
public string Label1Content 
{ 
    get { return _label1Content; } 
    set 
    { 
     if (Equals(value, _label1Content)) return; 

     _label1Content = value; 

     //However you decide to implement the RaisePropertyChanged method. 
    } 
} 
相關問題