这是我的第一篇文章。如果我写的东西不合适,请原谅我。
我正在使用树视图,并且当我双击该子项时,想要从所选子项中获取父项的标题。一切都在后面的代码中完成。像这样:
Parent1
---> Child1
---> Child2
Parent2
---> Child3
---> Child4
当我双击Child1时,我想要Parent1的标题。这有可能在某些方面吗?
答案 0 :(得分:2)
你可以这样做。
private void treeView1_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
TreeView tv = (TreeView)sender;
TreeViewItem child = (TreeViewItem)tv.SelectedItem;
if (child.Parent.GetType() == typeof(TreeViewItem)) // verify that parent is TreeViewItem
{
TreeViewItem parent =(TreeViewItem)child.Parent;
string text = parent.Header.ToString();
}
}
<TreeView Height="92" HorizontalAlignment="Left" Margin="10,10,0,0" Name="treeView1" VerticalAlignment="Top" Width="120" MouseDoubleClick="treeView1_MouseDoubleClick">
<TreeViewItem Header="Header1">
<TreeViewItem Header="Child1" />
<TreeViewItem Header="Child2" />
</TreeViewItem>
<TreeViewItem Header="Header2">
<TreeViewItem Header="Child3" />
<TreeViewItem Header="Child4" />
</TreeViewItem>
</TreeView>
答案 1 :(得分:0)
为您的TreeView命名。您可以在您的孩子中使用元素绑定,如下所示:
{Binding ElementName=myTreeView, Path=Header}
或者您可以找到这样的父母:
{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type namespace:TreeView}}, Path=Header, Mode=TwoWay}