这个只能搜索最外层的节点
我想要搜索子节点,请问该怎么办
<TreeView x:Name="tree" HorizontalContentAlignment="Stretch"
HorizontalAlignment="Left" Height="512" Margin="10,64,0,0" Grid.Row="1" VerticalAlignment="Top" Width="346">
<TreeView.Resources >
<HierarchicalDataTemplate DataType="{x:Type mo:Node}" ItemsSource="{Binding Nodes}">
<WrapPanel Orientation="Horizontal" >
<StackPanel Margin="2,2,2,2" HorizontalAlignment="Left" >
<TextBlock Text="{Binding Name}" ToolTip="{Binding Name}" Tag="{Binding}"
HorizontalAlignment="Left"></TextBlock>
</StackPanel>
<StackPanel Margin="2,2,2,2" >
<dx:SimpleButton Click="btn_treeadd_Click" Content="+" HorizontalAlignment="Right"
Tag="{Binding}" ></dx:SimpleButton>
</StackPanel>
</WrapPanel>
<!--VerticalAlignment-->
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
<dx:SimpleButton x:Name="btn_sou" Content="搜索" Click="btn_sou_Click"
HorizontalAlignment="Left" Margin="311,6,0,0" Grid.Row="1" VerticalAlignment="Top" Width="45"/>
<dxe:TextEdit x:Name="txt_sou" HorizontalAlignment="Left" Margin="255,31,0,0" Grid.Row="1" VerticalAlignment="Top" Width="101"/>
private void btn_sou_Click(object sender, RoutedEventArgs e)
{
txt_sou.Visibility = Visibility.Visible;
string strsou = txt_sou.Text.Trim();
Node listFind1 = ListNode.Find(delegate(Node us)
{
return us.Name.Equals(strsou);
});
foreach (Node iten in tree.Items)
{
if (iten.Name == strsou)
{
TreeViewItem tvi = (TreeViewItem)tree.ItemContainerGenerator.ContainerFromItem(iten);
tvi.IsSelected = true;//olors.Red)
tvi.Focus();
return;
}
}
}