2011-06-03 2 views
1

Je suis nouveau à la Silverlight. J'ai trouvé quelques articles sur Internet pour la liaison de données. Je peux voir que la liaison est effectuée de différentes manières comme suitPourquoi utiliser Path dans la liaison de données Silverlight?

<TextBlock Text="{Binding Name}"/> 
<TextBlock Text="{Binding Path=Name}"/> 
<TextBlock Text="{Binding Path=Account}"/> 
<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/> 

Dans la première liaison de bloc de texte est effectuée avec le nom de propriété. Dans le deuxième exemple, la liaison est également effectuée avec le nom de la propriété. Alors qu'est-ce qui est différent avec Path dans second textblock? Je sais comment faire la liaison pour les trois premiers blocs de texte mais je ne suis pas au courant comment faire une liaison avec le quatrième bloc de texte? et lorsque nous utilisons la liaison du type suivant

<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/> 

Pouvez-vous s'il vous plaît me donner le codage par exemple avec des explications pour tout chose au-dessus? Si j'ai mal compris quelque chose alors s'il vous plaît me guider.

Répondre

3

En utilisant la liaison suivante:

<TextBlock Text="{Binding Path=Property1.Property2.Property3}"/> 

Vous dites que le contexte de données de la TextBlock possède une propriété appelée Property1, qui retourne un objet qui a une propriété appelée Property2, qui à son tour a une propriété appelée Property3. La valeur renvoyée par Property3 est ce qui sera affiché dans le TextBox.

Par exemple, si vos classes ressemblaient à cela et le contexte de données pour la TextBox était une instance de Foo, vous verriez « Bonjour tout le monde » affichée:

public class Foo 
{ 
    public Foo1 Property1 { get; set; } 
} 

public class Foo1 
{ 
    public Foo2 Property2 { get; set; } 
} 

public class Foo2 
{ 
    public string Property3 { get { return "Hello World"; } } 
} 

La syntaxe « . » permet seulement vous faites référence aux "sous-propriétés" d'un objet. Pour plus d'informations, jetez un oeil à ce MSDN article.

0

Il n'y a pas de différence entre le premier et le deuxième TextBlock de votre question. Chemin d'accès est la propriété 'default' de l'objet Binding qui est défini.

Questions connexes