2017-07-06 3 views
0

J'ai donc uneWPF AutoCompleteBox style DataTemplate Bind ValueMemberPath Pour Contenu

<controls:AutoCompleteBox ItemsSource="{Binding Nationalities}" SelectedItem="{Binding IDIssueCountry, Mode=TwoWay}" ValueMemberPath="NationalityName"/> 

Et un style pour itemtemplate que je veux son contenu lié à la valeur de ValueMemberPath:

<Setter Property="ItemTemplate"> 
    <Setter.Value> 
     <DataTemplate> 
      <Label Content="{What Binding to put here to get ValueMemberPath's value}"/> 
     </DataTemplate> 
    </Setter.Value> 

Merci à l'avance

PS: TemplateBinding ne trouve pas ValueMemberPath ..

Répondre

0

Et ça?

<Label Content="{Binding NationalityName}"/> 

devrait fonctionner en supposant que NationalityName est une propriété d'un élément dans la collection Nationalities.

Notez que vous ne pouvez pas lier la propriété Content du Label à la propriété dont le nom est spécifié par le ValueMemberPath si c'est ce que vous essayez de faire.

La valeur de ValueMemberPath est utilisée en interne par le contrôle pour obtenir la valeur de l'objet de données sous-jacent en utilisant la réflexion.

+0

Oui mais ce style est utilisé par défaut et il aura des éléments différents, par exemple les entreprises sont avec d'autres noms. C'est pourquoi je veux obtenir la valeur de ValueMemberPath –

+0

Il n'y a aucun moyen de lier à la propriété * dont le nom * est spécifié par la propriété ValueMemberPath en pur XAML. Vous devez spécifier le nom de la * propriété * à lier. Vous ne pouvez pas spécifier le nom de la propriété qui contient le nom de la propriété à lier. Donc ce n'est pas possible j'ai peur. – mm8