如何检查单击的项目是Treeview中的父项

时间:2010-04-20 09:22:56

标签: wpf treeview

要将子项目作为字符串,我使用以下代码

private void treeview1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            if (treeview1.SelectedItem != null)
            {
                Animal bar = (Animal)treeview1.SelectedItem;
                string str = bar.Name;
                int boxty = bar.BoxType;
                int boxno = bar.BoxNo;
            }

        }

它工作正常。但是当我点击父(而不是+符号)时,它会转到此代码并显示错误.Ofcourse我将SelectedItem转换为我的List-Animal。 但我不想要这个。我必须检查,clciked项目是否是父项,如果是这样,那么我将跳过此编码。只有当我点击子项目时,它将转到此编码。 我该怎么做?如何识别所选项目是父项。

1 个答案:

答案 0 :(得分:0)

我使用了以下代码

treeview1.Items.IndexOf(treeview1.SelectedItem)

当我们选择cild项时返回-1,它返回1,2.etc,取决于点击哪个父项。

所以我用它来检查clciked项是否是孩子。

 if (treeview1.Items.IndexOf(treeview1.SelectedItem) == -1)
                {
                    Animal bar = (Animal)treeview1.SelectedItem;
                    string str = bar.Name;
                    int boxty = bar.BoxType;
                    int boxno = bar.BoxNo;
                }