C# Silverlight TreeView展开顶部节点下的所有节点
我正在与Silverlight TreeView合作。加载控件时,所有节点都将关闭。当我单击所有所需的其中一个节点时,打开的父节点下的子节点将展开。我该怎么做?我在TreeView方面的经验非常有限,所以示例代码将非常有用。谢谢 将处理程序附加到每个TreeViewItem的C# Silverlight TreeView展开顶部节点下的所有节点,c#,silverlight,treeview,silverlight-5.0,C#,Silverlight,Treeview,Silverlight 5.0,我正在与Silverlight TreeView合作。加载控件时,所有节点都将关闭。当我单击所有所需的其中一个节点时,打开的父节点下的子节点将展开。我该怎么做?我在TreeView方面的经验非常有限,所以示例代码将非常有用。谢谢 将处理程序附加到每个TreeViewItem的展开的事件。然后,遍历子节点树,边走边展开每个节点 简单XAML: <sdk:TreeView> <sdk:TreeViewItem Expanded="TreeViewIt
展开的事件。然后,遍历子节点树,边走边展开每个节点
简单XAML:
<sdk:TreeView>
<sdk:TreeViewItem Expanded="TreeViewItem_OnExpanded" Header="One"></sdk:TreeViewItem>
<sdk:TreeViewItem Expanded="TreeViewItem_OnExpanded" Header="Two">
<sdk:TreeViewItem Expanded="TreeViewItem_OnExpanded" Header="Three">
<sdk:TreeViewItem Expanded="TreeViewItem_OnExpanded" Header="Four">
<sdk:TreeViewItem Expanded="TreeViewItem_OnExpanded" Header="Five" />
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeViewItem>
</sdk:TreeView>
但是,我不知道如何在TreeView.ItemTemplate中设置事件处理程序。
也许另一位读者知道怎么做
private void TreeViewItem_OnExpanded(object sender, RoutedEventArgs e)
{
TreeViewItem tvi = sender as TreeViewItem;
Debug.Assert(tvi != null);
if (tvi.HasItems) { ExpandChildren(tvi); }
}
private void ExpandChildren(TreeViewItem tvi)
{
foreach (var item in tvi.Items)
{
if (item is TreeViewItem) { ExpandChildren(item as TreeViewItem); }
}
tvi.IsExpanded = true;
}