如何绑定到文本框

1 c# data-binding wpf textbox .net-3.5

我的XAML是

<TextBox Name="DutchName" HorizontalAlignment="Right" Text="{Binding customer,Path=DutchName }" />
Run Code Online (Sandbox Code Playgroud)

我的班级是

class customer
{
    Name name;
}

class Name
{
    string DutchName;
    string EnglishName;
}
Run Code Online (Sandbox Code Playgroud)

TextBox未绑定.任何人都可以纠正这个错误吗?

谢谢,

Ara*_*and 5

我不认为你的代码会为初学者编译,

应该

public class customer
{
    public Name name { get; set; }
}

public class Name
{
    public string DutchName { get; set; }
    public string EnglishName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这将使您能够获得一次并从xaml 设置属性,但是如果您在代码中设置属性,则需要实现INotifyPropertyChanged(否则您的用户界面不会知道).从你的问题我认为你需要做更多的研究.了解这些主题.(开头)

  • 属性
  • 访问者(公共,私有,受保护,内部) - 您不能绑定到非公共财产
  • INotifyPropertyChanged的

你的xaml绑定应该是这样的

<TextBox  HorizontalAlignment="Right" Text="{Binding Path=name.DutchName }" />
Run Code Online (Sandbox Code Playgroud)

如果您将窗口/用户控件的数据上下文设置为客户.例如

....
InitializeComponent();

customer cust = new customer();
cust.Name = new Name { DutchName = "Sigfried", EnglishName = "Roy" };
this.DataContext = cust;
....
Run Code Online (Sandbox Code Playgroud)