Megosztás a következőn keresztül:


Útmutató: A SelectedValue, a SelectedValuePath és a SelectedItem használata

Ez a példa bemutatja, hogyan használható a SelectedValue és SelectedValuePath tulajdonságok egy SelectedItemTreeView értékének megadására.

példa

A SelectedValuePath tulajdonság lehetővé teszi egy SelectedValue megadását a SelectedItem egy TreeView. A SelectedItem egy objektumot jelöl a Items gyűjteményben, a TreeView pedig a kijelölt elem egyetlen tulajdonságának értékét jeleníti meg. A SelectedValuePath tulajdonság a SelectedValue tulajdonság értékének meghatározásához használt tulajdonság elérési útját adja meg. A jelen témakör példái ezt a fogalmat szemléltetik.

Az alábbi példa egy XmlDataProvider-t mutat be, amely alkalmazotti adatokat tartalmaz.

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

Az alábbi példa egy HierarchicalDataTemplate-t definiál, amely megjeleníti a EmployeeNameEmployeeWorkDay-ét és Employee-ét. Vegye figyelembe, hogy a HierarchicalDataTemplate nem határozza meg a EmployeeNumber-et a sablon részeként.

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

Az alábbi példa egy TreeView-t mutat be, amely a korábban definiált HierarchicalDataTemplate-et használ, és amely a SelectedValue tulajdonságot a EmployeeNumber-ra állítja be. Amikor kiválaszt egy EmployeeName a TreeView, a SelectedItem tulajdonság a EmployeeInfo-hez megfelelő EmployeeName adatelemet adja vissza. Mivel azonban a SelectedValuePath értéke a TreeView esetében EmployeeNumber-re van beállítva, a SelectedValue pedig a EmployeeNumber-re van beállítva.

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

Lásd még