C# 数据绑定不起作用
我试图理解数据绑定的概念,我了解到数据绑定是一种可以将UI元素绑定到对象的方式,以便其中一个元素的任何更改都会影响另一个元素(在双向绑定的情况下),但在这个简单的示例中,这不起作用: 我的班级:C# 数据绑定不起作用,c#,windows,xaml,win-universal-app,windows-10-universal,C#,Windows,Xaml,Win Universal App,Windows 10 Universal,我试图理解数据绑定的概念,我了解到数据绑定是一种可以将UI元素绑定到对象的方式,以便其中一个元素的任何更改都会影响另一个元素(在双向绑定的情况下),但在这个简单的示例中,这不起作用: 我的班级: namespace dataBinding.Models { public class person { public string name { get; set; } public override string ToString() { return th
namespace dataBinding.Models
{
public class person
{
public string name { get; set; }
public override string ToString()
{
return this.name;
}
}
}
XAML:
xmlns:models="using:dataBinding.Models"
<Page.DataContext>
<models:person x:Name="personObject" name="Person's Name"/>
</Page.DataContext>
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Right"
Text="{Binding name, Mode=TwoWay}" />
<Button Name="changeNameButton"
VerticalAlignment="Center"
HorizontalAlignment="Left"
Content="Change Name" />
当我运行应用程序时,文本块显示“人名”,但单击changeName按钮不会更改文本块中显示的内容,所以,我在这里缺少什么 您缺少的
INotifyPropertyChanged
接口实现。您的XAML不知道它已被更改
易于修复,使用https://github.com/Fody/PropertyChanged
它将添加代码,通知所有人该属性已更改
[ImplementPropertyChanged]
public class person
{
public string name { get; set; }
public override string ToString()
{
return this.name;
}
}
您缺少的
INotifyPropertyChanged
接口实现。您的XAML不知道它已被更改
易于修复,使用https://github.com/Fody/PropertyChanged
它将添加代码,通知所有人该属性已更改
[ImplementPropertyChanged]
public class person
{
public string name { get; set; }
public override string ToString()
{
return this.name;
}
}
您的personObject是否实现了INotifyPropertyChanged?您的“对象”缺少
INotifyPropertyChanged
。您应该使用INotifyPropertyChanged
接口。检查这篇包含接口完整实现的帖子:谢谢你们,你们是awosome:)你们的personObject实现了INotifyPropertyChanged吗?你们的“对象”缺少了INotifyPropertyChanged
。你们应该使用INotifyPropertyChanged
接口。查看这篇包含完整界面实现的帖子:谢谢你们,你们是awosome:)