分享

如何:使用 SelectedValue、SelectedValuePath 和 SelectedItem

 ThinkTank_引擎 2014-01-17

SelectedValuePath 属性提供了一种为 TreeView 中的 SelectedItem 指定 SelectedValue 的方法。 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>


下面的示例定义用于显示 EmployeeEmployeeNameEmployeeWorkDayHierarchicalDataTemplate 请注意 HierarchicalDataTemplate 不会将 EmployeeNumber 指定为模板的一部分。

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


下面的示例演示 TreeView,它使用之前定义的 HierarchicalDataTemplate,并将 SelectedValue 属性设置为 EmployeeNumber 当您在 TreeView 中选择 EmployeeName 时,SelectedItem 属性将返回与选定的 EmployeeName 对应的 EmployeeInfo 数据项。 但是,由于此 TreeViewSelectedValuePath 被设置为 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"/>



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多