2010-02-08 109 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