Show / Hide Table of Contents

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

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

Пример

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

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

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

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

<HierarchicalDataTemplate x:Key="SampleTemplate" 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}, 
    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"/>

См. также

  • TreeView
  • TreeViewItem
  • Обзор элемента управления "TreeView"
  • Практические руководства
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX