Partilhar via


Como: Usar SelectedValue, SelectedValuePath e SelectedItem

Este exemplo mostra como usar as propriedades SelectedValue e SelectedValuePath para especificar um valor para o SelectedItem de um TreeView.

Exemplo

A propriedade SelectedValuePath fornece uma maneira para especificar um SelectedValue para o SelectedItem em um TreeView. O SelectedItem representa um objeto na coleção Items e o TreeView exibe o valor de uma única propriedade do item selecionado. A propriedade SelectedValuePath especifica o caminho para a propriedade que é usada para determinar o valor da propriedade SelectedValue. Os exemplos contidos neste tópico ilustram esse conceito.

O exemplo a seguir mostra um XmlDataProvider que contém informações sobre funcionários.

<XmlDataProvider x:Key="myEmployeeData" XPath="/EmployeeData">
  <x:XData>
    <EmployeeData >
      <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>

O exemplo a seguir define um HierarchicalDataTemplate que exibe EmployeeName e EmployeeWorkDay de Employee. Observe que o HierarchicalDataTemplate não especifica EmployeeNumber como parte do modelo.

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

O exemplo a seguir mostra um TreeView que usa o HierarchicalDataTemplate definido anteriormente e que define a propriedade SelectedValue como o EmployeeNumber. Quando você seleciona um EmployeeName na TreeView, a propriedade SelectedItem retorna o item de dados EmployeeInfo correspondente ao EmployeeName selecionado. No entanto, como o SelectedValuePath desta TreeView está definido como EmployeeNumber, o SelectedValue é definido como o EmployeeNumber.

<TreeView ItemsSource="{Binding Source={StaticResource myEmployeeData}, 
    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"/>

For the complete sample, see Exibição em Árvore que Especifica SelectedValuePath exemplo.

Consulte também

Conceitos

TreeView Overview

Referência

TreeView

TreeViewItem

Outros recursos

Tópicos de Como Fazer sobre TreeView

Exemplos de Exibição em Árvore