【问题标题】:unselecting and reselecting a TreeViewItem in a TreeView在 TreeView 中取消选择和重新选择 TreeViewItem
【发布时间】:2011-07-20 08:59:33
【问题描述】:

我遇到了以下问题:

在我的 TreeView 中,当用户单击 TreeView 而不是 TreeViewItem 时,我通过调用我自己的 deselect() 方法添加了取消选择功能。 这是我的 TreeView 方法:

public void deselectAll()
{
    TreeViewItem item = SelectedItem as TreeViewItem;
    if (item != null)
    {
        this.Focus();
        item.IsSelected = false;
    }
}

我的问题是,在取消选择 TreeViewItem 后,我无法重新选择它。我读过,专注于 TreeView 本身应该可以解决这个问题,但事实并非如此。我将“Focus()”放在“IsSelected = false”之前还是之后也没关系。

有人知道为什么这不起作用吗?任何想法将不胜感激。

【问题讨论】:

    标签: wpf treeview unselect


    【解决方案1】:

    在你设置 item.IsSelected = false; 之后你必须为你的树视图调用 .Focus()。

            <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>
    
        private void TreeView_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            var tv = sender as TreeView;
    
            if (tv != null)
            {
                var item = (TreeViewItem)tv.SelectedItem;
                item.IsSelected = false;
                tv.Focus();
            }
        }
    

    你写的 focus() 不能解决你的问题。你在哪里调用你的 deselectAll()?

    作为一种解决方法,您可以使用 MouseLeftDown 将项目设置为选中。

    ps:不要忘记将答案标记为anwser。

    【讨论】:

    • 感谢您的快速回答!就像我说的,不幸的是,在将 IsSelected 属性设置为 false 后设置焦点并不能解决我的问题。我在 TreeView.MouseLeftButtonDown-Eventhandler 中调用 deselectAll() 方法。但是解决方法效果很好。再次感谢!
    猜你喜欢
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 2020-10-30
    相关资源
    最近更新 更多