這是我的第一篇文章。請原諒我,如果我寫一些不適合英寸從選定的孩子獲取父標題
我使用樹形視圖,並希望從選定的孩子,當我doubleclick孩子獲得父母的標題。一切都在後面的代碼中完成。這樣的事情:
Parent1
---> Child1
---> Child2
Parent2
---> Child3
---> Child4
當我doubleclick Child1,我想Parent1的頭。這可能在一些如何?
這是我的第一篇文章。請原諒我,如果我寫一些不適合英寸從選定的孩子獲取父標題
我使用樹形視圖,並希望從選定的孩子,當我doubleclick孩子獲得父母的標題。一切都在後面的代碼中完成。這樣的事情:
Parent1
---> Child1
---> Child2
Parent2
---> Child3
---> Child4
當我doubleclick Child1,我想Parent1的頭。這可能在一些如何?
給你的TreeView一個名字。您可以使用元素像這樣在你的孩子結合:
{Binding ElementName=myTreeView, Path=Header}
或者你可以找到這樣的家長:
{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type namespace:TreeView}}, Path=Header, Mode=TwoWay}
你可以做這樣的事情。
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>
由於GetType()_獲取當前實例的類型,我將使用'if(child.Parent是TreeViewItem)'而不是GetType()。 (從Object繼承。)_ – 2012-07-09 20:53:54
您正在使用的WinForm或ASP? – Arion 2012-02-03 07:58:13
如果這有助於我使用.Net Framework 4 – 2012-02-03 08:03:07