2010-02-08 115 views
1

我的XAML是如何绑定到一个文本框

<TextBox Name="DutchName" HorizontalAlignment="Right" Text="{Binding customer,Path=DutchName }" /> 

我的课是

class customer 
{ 
    Name name; 
} 

class Name 
{ 
    string DutchName; 
    string EnglishName; 
} 

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

感谢,

+0

您需要编辑您的文章,并让代码高亮(使用101010按钮) – 2010-02-08 05:40:30

回答

5

我不认为你的代码将编译对于初学者来说,

应该

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

public class Name 
{ 
    public string DutchName { get; set; } 
    public string EnglishName { get; set; } 
} 

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

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

您的XAML绑定应该看像这样

<TextBox HorizontalAlignment="Right" Text="{Binding Path=name.DutchName }" /> 

如果你设置窗口的数据上下文/ u您正在努力成为客户。例如

.... 
InitializeComponent(); 

customer cust = new customer(); 
cust.Name = new Name { DutchName = "Sigfried", EnglishName = "Roy" }; 
this.DataContext = cust; 
.... 
+0

+1很好的答案,不必写任何东西救了我 - 我只是希望@jjjou困扰,以纪念它。 – slugster 2010-02-08 06:04:25

+0

+1,虽然我很惊讶地看到Sigfried是荷兰版的“罗伊”:) – devuxer 2010-02-08 06:52:41

+0

这些荷兰语翻译每次都会得到新手:)我敢打赌,他不会标记它tho ....叹 – 2010-02-08 07:04:00