TreeViewitem无法选择= null

时间:2017-09-01 07:10:30

标签: c# wpf treeview selection

我在树视图中选择TreeViewItem时遇到问题。当我在树视图中选择一个项目时,我的以下代码返回null

我做错了什么?

TreeViewItem item = e.OriginalSource as TreeViewItem;

You can see in this picture that when I debug it tells me the Item is null

Here you can see what the e.originalSource holds

2 个答案:

答案 0 :(得分:1)

根据您的最新图片,e.OriginalSourceTreeView。当您像这样投射e.OriginalSource时:

TreeViewItem item = e.OriginalSource as TreeViewItem;

... item始终为null。这是因为您的类型广播无法将e.OriginalSource转换为您想要的类型。如果你这么强硬,那么:

TreeViewItem item = (TreeViewItem)e.OriginalSource;

你会得到CastException来解释原因。

所以你需要做的就是投射到这样的正确类型:

TreeViewItem tree = e.OriginalSource as TreeView; // I am a tree view :-)

...然后从tree.Items中选择您需要的项目。

答案 1 :(得分:0)

e.Sourcee.OriginalSource是指TreeView而不是TreeViewItem所选。

尝试此操作以获取所选项目:

TreeViewItem item = e.NewValue as TreeViewItem;

或者这是为了获得之前选择的项目:

TreeViewItem item = e.OldValue as TreeViewItem;