Partager via


Guide pratique pour utiliser SelectedValue, SelectedValuePath et SelectedItem

Cet exemple montre comment utiliser les propriétés SelectedValue et SelectedValuePath pour spécifier une valeur pour SelectedItem d’un TreeView.

Exemple :

La SelectedValuePath propriété fournit un moyen de spécifier un SelectedValue pour le SelectedItem dans un TreeView. Représente SelectedItem un objet dans la Items collection et TreeView affiche la valeur d’une propriété unique de l’élément sélectionné. La SelectedValuePath propriété spécifie le chemin d’accès à la propriété utilisée pour déterminer la valeur de la SelectedValue propriété. Les exemples de cette rubrique illustrent ce concept.

L’exemple suivant montre un XmlDataProvider élément qui contient des informations sur les employés.

<XmlDataProvider x:Key="myEmployeeData" XPath="/EmployeeData">
  <x:XData>
    <EmployeeData xmlns="">
      <EmployeeInfo>
        <EmployeeName>Jesper Aabergy</EmployeeName>
        <EmployeeWorkDay>Monday</EmployeeWorkDay>
        <EmployeeWorkDay>Wednesday</EmployeeWorkDay>
        <EmployeeWorkDay>Friday</EmployeeWorkDay>
        <EmployeeStartTime>8:00am</EmployeeStartTime>
        <EmployeeNumber>12345</EmployeeNumber>
      </EmployeeInfo>
      <EmployeeInfo>
        <EmployeeName>Dominik Paiha</EmployeeName>
        <EmployeeWorkDay>Monday</EmployeeWorkDay>
        <EmployeeWorkDay>Tuesday</EmployeeWorkDay>
        <EmployeeStartTime>6:30am</EmployeeStartTime>
        <EmployeeNumber>98765</EmployeeNumber>
      </EmployeeInfo>
    </EmployeeData>
  </x:XData>
</XmlDataProvider>

L’exemple suivant définit un HierarchicalDataTemplate qui affiche le EmployeeName et le EmployeeWorkDay du Employee. Notez que le HierarchicalDataTemplate ne spécifie pas le EmployeeNumber comme faisant partie du modèle.

<HierarchicalDataTemplate x:Key="SampleTemplate" DataType="EmployeeInfo" 
  ItemsSource ="{Binding XPath=EmployeeWorkDay}">
  <TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>

L’exemple suivant montre un TreeView qui utilise l’élément précédemment défini HierarchicalDataTemplate et qui définit la propriété SelectedValue à EmployeeNumber. Lorsque vous sélectionnez un EmployeeName élément dans le TreeView, la SelectedItem propriété retourne l’élément EmployeeInfo de données qui correspond à l’élément sélectionné EmployeeName. Toutefois, étant donné que le SelectedValuePath de ce TreeView est défini sur EmployeeNumber, le SelectedValue est défini sur le EmployeeNumber.

<TreeView ItemsSource="{Binding Source={StaticResource myEmployeeData}, 
    ItemTemplate={StaticResource SampleTemplate},
    XPath=EmployeeInfo}" 
    Name="myTreeView" 
    SelectedValuePath="EmployeeNumber" 
    />

<TextBlock Margin="10">SelectedValuePath: </TextBlock>
<TextBlock Margin="10,0,0,0" 
           Text="{Binding ElementName=myTreeView, 
                          Path=SelectedValuePath}"
           Foreground="Blue"/>

<TextBlock Margin="10">SelectedValue: </TextBlock>
<TextBlock Margin="10,0,0,0" 
           Text="{Binding ElementName=myTreeView, 
                          Path=SelectedValue}"
           Foreground="Blue"/>

Voir aussi