如何获取选定的TreeViewItem项目标题?

时间:2014-06-04 15:26:18

标签: c# wpf treeviewitem

我正在填充Dictonary<int, string> myFirstDictionary(第一级)和Dictionary<string, int> mySecondDictionary(第二级)的两级TreeView:

XAML:

<TreeView Name="myTreeView"/>

代码隐藏:

TreeViewItem item;

foreach (var dict1 in myFirstDictionary)
{
     item = TreeViewItem();
     item.Header = dict1.Value;
     foreach (var dict2 in mySecondDictionary)
         if (dict1.Key == dict2.Value)
             item.Items.Add(dict2.Key);
     myTreeView.Items.Add(item);
}

这很好用。我可以使用以下代码轻松获取TreeViewItem的第一级标题:

TreeVeiwItem tvi = myTreeView.SelectedItem as TreeViewItem;
MessageBox.Show(tvi.Header.ToString());

问题是我不知道如何获得二级TreeViewItem的标题(从dict2.Key填充的标题。

2 个答案:

答案 0 :(得分:0)

另一种方法是从任何选定的项目中提取项目标题。

string itemHeader = ((HeaderedItemsControl)myTreeView.SelectedItem ).Header.ToString()

答案 1 :(得分:-1)

尝试这种方式:

TreeViewItem tvItem = null;
tvItem = ContainGenerator.ContainerFromItem(myTreeView.SelectedItem) as TreeViewItem;

MessageBox.Show(tvItem.Header);