方法: SelectedValue、SelectedValuePath、および SelectedItem を使用する
この例からは、SelectedValue プロパティと SelectedValuePath プロパティを使用し、TreeView の SelectedItem に値を指定する方法がわかります。
例
SelectedValuePath プロパティからは、TreeView 内の SelectedValue に SelectedItem を指定する方法が与えられます。 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>
次の例では、Employee
の EmployeeName
と EmployeeWorkDay
を表示する HierarchicalDataTemplate が定義されます。 HierarchicalDataTemplate ではテンプレートの一部として EmployeeNumber
が指定されないことにご留意ください。
<HierarchicalDataTemplate x:Key="SampleTemplate" 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},
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"/>
関連項目
.NET Desktop feedback