2010-02-08 3 views
1

mon XAML estComment se lier à une zone de texte

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

ma classe est

class customer 
{ 
    Name name; 
} 

class Name 
{ 
    string DutchName; 
    string EnglishName; 
} 

Le TextBox est pas lié. Quelqu'un peut-il corriger cette erreur s'il vous plaît?

Merci,

+0

vous devez modifier votre message et rendre le code mis en évidence (utilisez le bouton 101010) –

Répondre

5

je ne pense pas que votre code compilerait pour commencer,

devrait être

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

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

cela vous permettra de obtenir une fois et mis en les propriétés de XAML Cependant, si vous définissez les propriétés dans le code, vous devez implémenter INotifyPropertyChanged (sinon votre interface utilisateur ne le saura pas). D'après votre question, je pense que vous devez faire un peu plus d'étude. Renseignez-vous sur ces sujets. (Pour commencer)

  • Propriétés
  • accesseurs (public, privé, protégé, interne) - vous ne pouvez pas lier à une propriété non publique
  • INotifyPropertyChanged

votre XAML obligatoire, devrait regarder comme ceci

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

si vous définissez le contexte de données de la fenêtre/u ser contrôle que vous travaillez pour être le client. par exemple.

.... 
InitializeComponent(); 

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

+1 bonne réponse, m'a sauvé avoir à écrire quoi que ce soit - j'espère juste @jjjou prend la peine de marquer. – slugster

+0

+1, bien que je sois surpris de voir que Sigfried est la version néerlandaise de "Roy" :) – devuxer

+0

ces traductions hollandaises obtiennent les non-initiés à chaque fois :) Je parie qu'il ne le marquera pas .... soupir –

Questions connexes