Sdílet prostřednictvím


Postupy: Použití SelectedValue, SelectedValuePath a SelectedItem

Tento příklad ukazuje, jak použít vlastnosti SelectedValue a SelectedValuePath k určení hodnoty pro SelectedItemTreeView.

Příklad

Vlastnost SelectedValuePath poskytuje způsob, jak zadat SelectedValue pro SelectedItem v TreeView. SelectedItem představuje objekt v kolekci Items a TreeView zobrazí hodnotu jedné vlastnosti vybrané položky. Vlastnost SelectedValuePath určuje cestu k vlastnosti, která se používá k určení hodnoty vlastnosti SelectedValue. Příklady v tomto tématu ilustrují tento koncept.

Následující příklad ukazuje XmlDataProvider, který obsahuje informace o zaměstnanci.

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

Následující příklad definuje HierarchicalDataTemplate, který zobrazuje EmployeeName a EmployeeWorkDayEmployee. Všimněte si, že HierarchicalDataTemplate neurčuje EmployeeNumber jako součást šablony.

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

Následující příklad ukazuje TreeView, která používá dříve definované HierarchicalDataTemplate a která nastaví vlastnost SelectedValue na EmployeeNumber. Když v TreeViewvyberete EmployeeName, vrátí vlastnost SelectedItem datovou položku EmployeeInfo, která odpovídá vybrané EmployeeName. Protože je však SelectedValuePath tohoto TreeView nastavena na EmployeeNumber, SelectedValue je nastavena na 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"/>

Viz také