Freigeben über


Gewusst wie: Verwendung von SelectedValue, SelectedValuePath und SelectedItem

In diesem Beispiel wird dargestellt, wie die SelectedValue-Eigenschaft und die SelectedValuePath-Eigenschaft verwendet werden, um einen Wert für das SelectedItem einer TreeView anzugeben.

Beispiel

Die SelectedValuePath-Eigenschaft bietet eine Möglichkeit, einen SelectedValue für das SelectedItem in einer TreeView anzugeben. Das SelectedItem stellt ein Objekt in der Items-Auflistung dar, und die TreeView zeigt den Wert einer einzelnen Eigenschaft des ausgewählten Elements an. Die SelectedValuePath-Eigenschaft gibt den Pfad zu der Eigenschaft an, mit der der Wert der SelectedValue-Eigenschaft bestimmt wird. In den Beispielen dieses Themas wird dieses Konzept veranschaulicht.

Im folgenden Beispiel wird ein XmlDataProvider gezeigt, der Mitarbeiterinformationen enthält.

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

Im folgenden Beispiel wird eine HierarchicalDataTemplate definiert, die EmployeeName und EmployeeWorkDay für den Employee anzeigt. Beachten Sie, dass die HierarchicalDataTemplate die EmployeeNumber nicht als Teil der Vorlage angibt.

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

Im folgenden Beispiel wird eine TreeView dargestellt, die die zuvor definierte HierarchicalDataTemplate verwendet und die SelectedValue-Eigenschaft für die EmployeeNumber festlegt. Wenn Sie ein EmployeeName-Element in der TreeView auswählen, gibt die SelectedItem-Eigenschaft das EmployeeInfo-Datenelement zurück, das dem ausgewählten EmployeeName-Element entspricht. Da allerdings der SelectedValuePath dieser TreeView auf die EmployeeNumber festgelegt wird, wird der SelectedValue auf die EmployeeNumber festgelegt.

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

Siehe auch

Referenz

TreeView

TreeViewItem

Konzepte

Übersicht über TreeView

Weitere Ressourcen

Gewusst-wie-Themen zu "TreeView"