我正在填充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
填充的标题。
答案 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);