如何在树视图中取消选择所选项

时间:2012-05-11 04:08:02

标签: c# wpf mvvm treeview treeviewitem

我正在开发一个WPF应用程序,用户可以选择通过单击下一个/上一个按钮或在树视图中选择特定页面来在页面之间导航。

<TreeView Background="Transparent" Cursor="Hand" ItemsSource="{Binding Path=TreeItems}" local:TreeViewExtensions.SelectedItemChanged="{Binding Path=SelectedItemChangedCommand}" ItemContainerStyle="{StaticResource TreeViewItemStyle}" >
     <TreeView.ItemTemplate>
          <DataTemplate>
               <TextBlock Text="{Binding DisplayName}" />
          </DataTemplate>
     </TreeView.ItemTemplate>
</TreeView>
<Button Content="&lt; Prev" Name="btnPrev" Command="{Binding Path=MovePreviousCommand}"/>
<Button Content="Next &gt;" Name="btnNext" Command="{Binding Path=MoveNextCommand}"/>

现在问题是,当用户点击特定页面名称时,应用程序将导航到特定页面。如果用户点击下一个或上一个,则会导航到下一页或上一页。在此方案中,如果用户单击以前选择的树视图项,则它将不会导航到该特定页面,因为它已被选中。

任何人都可以告诉我,当用户点击“下一步”或“上传”按钮时,如何取消选择所选的树状视图项。

2 个答案:

答案 0 :(得分:0)

使用类似的内容取消选择所选项目

<TreeView MouseLeftButtonDown="TreeView_MouseLeftButtonDown">
    <TreeViewItem Header="Employee1">
        <TreeViewItem Header="Jesper"/>
        <TreeViewItem Header="Aaberg"/>
        <TreeViewItem Header="12345"/>
    </TreeViewItem>
    <TreeViewItem Header="Employee2">
        <TreeViewItem Header="Dominik"/>
        <TreeViewItem Header="Paiha"/>
        <TreeViewItem Header="98765"/>
    </TreeViewItem>
</TreeView>

答案 1 :(得分:0)

单击Prev或Next,可以将treeView节点的selectedItem值设置为true 并将焦点设置在此节点上。先前选择的节点,未选中的事件将被解雇。