Wpf 将控件绑定到此对象的代码隐藏属性
我想将Label控件绑定到代码隐藏类中的一个属性:Wpf 将控件绑定到此对象的代码隐藏属性,wpf,xaml,binding,controls,Wpf,Xaml,Binding,Controls,我想将Label控件绑定到代码隐藏类中的一个属性: public MainWindow() { InitializeComponent(); this.Label1Content = "some text"; } public string Label1Content { get; set; } 但是绑定失败了。显然,我在绑定配置中遗漏了一些东西,但我不知道是什么。我知道如何使用C#绑定此属性,但如何使用XAML绑定它而不声明
public MainWindow()
{
InitializeComponent();
this.Label1Content = "some text";
}
public string Label1Content { get; set; }
但是绑定失败了。显然,我在绑定配置中遗漏了一些东西,但我不知道是什么。我知道如何使用C#绑定此属性,但如何使用XAML绑定它而不声明DataContext?如果您不想在任何地方声明DataContext,可以使用
<Label Content="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=Label1Content}" />
您仍然必须声明一个
数据上下文,即使它是同一个控件:
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.
}
}