Поделиться через


Инструкция по Использованию SelectedValue, SelectedValuePath и SelectedItem

Обновлен: Ноябрь 2007

В этом примере показано, как использовать свойства SelectedValue и SelectedValuePath для указания значения для SelectedItem элемента TreeView.

Пример

Свойство SelectedValuePath предоставляет возможность указать SelectedValue для SelectedItem элемента TreeView. SelectedItem представляет объект в коллекции Items и TreeView отображает значение одного свойства выбранного элемента. Свойство SelectedValuePath указывает путь к свойству, используемому для определения значения свойства SelectedValue. В примерах этого раздела показана эта концепция.

Следующий пример демонстрирует XmlDataProvider, содержащий сведения о сотруднике.

<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>

В следующем примере определяется HierarchicalDataTemplate, отображающий EmployeeName и EmployeeWorkDay из Employee. Обратите внимание, что HierarchicalDataTemplate не указывает EmployeeNumber в качестве части шаблона.

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

Следующий пример демонстрирует TreeView, использующий ранее определенный HierarchicalDataTemplate, и устанавливает свойство SelectedValue для EmployeeNumber. Когда выбирается EmployeeName в TreeView, свойство SelectedItem возвращает элемент данных EmployeeInfo, соответствующий выбранному EmployeeName. Однако, так как SelectedValuePath из этого TreeView устанавливает значение в EmployeeNumber, SelectedValue устанавливает значение в 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"/>

Полный пример см. в разделе Пример использования объекта TreeView, определяющего свойство SelectedValuePath.

См. также

Основные понятия

Обзор элемента управления "TreeView"

Ссылки

TreeView

TreeViewItem

Другие ресурсы

Разделы руководства, посвященные элементу управления TreeView

Примеры использования элемента управления TreeView