Comment : utiliser SelectedValue, SelectedValuePath et SelectedItem

Cet exemple montre comment utiliser les SelectedValue propriétés et SelectedValuePath les propriétés pour spécifier une valeur pour l’objet SelectedItemTreeView.

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 EmployeeWorkDay le Employee. Notez que le HierarchicalDataTemplate modèle ne le spécifie EmployeeNumber pas.

<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é sur SelectedValue le 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 cela SelectedValuePathTreeView est défini EmployeeNumbersur , il 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