方法 : SelectedValue、SelectedValuePath、および SelectedItem を使用する
更新 : 2007 年 11 月
この例では、SelectedValue および SelectedValuePath プロパティを使用して、TreeView の SelectedItem の値を指定する方法を示します。
使用例
SelectedValuePath プロパティは、TreeView の SelectedItem に対して SelectedValue を指定する方法を提供します。SelectedItem は Items コレクション内のオブジェクトを表し、TreeView は選択された項目の 1 つのプロパティの値を表示します。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>
次の例は、Employee の EmployeeName と EmployeeWorkDay を表示する HierarchicalDataTemplate を定義しています。HierarchicalDataTemplate では、EmployeeNumber をテンプレートの一部として指定していないことに注意してください。
<HierarchicalDataTemplate DataType="EmployeeInfo"
ItemsSource ="{Binding XPath=EmployeeWorkDay}">
<TextBlock Text="{Binding XPath=EmployeeName}" />
</HierarchicalDataTemplate>
次の例は、前に定義された HierarchicalDataTemplate を使用し、SelectedValue プロパティを EmployeeNumber に設定する、TreeView を示しています。TreeView で EmployeeName を選択すると、SelectedItem プロパティは、選択された EmployeeName に対応する EmployeeInfo データ項目を返します。ただし、この TreeView の SelectedValuePath は 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"/>
サンプル全体については、「SelectedValuePath を指定する TreeView のサンプル」を参照してください。