要根據搜索條件點擊查詢顯示相應的節點,可以按照以下步驟進行操作:
創建一個用于存儲樹節點的列表或集合。例如,使用ObservableCollection<TreeNode>
。
在WPF窗口的XAML中,創建一個TreeView控件,并設置其ItemsSource屬性為上一步中創建的節點列表。例如:
<TreeView x:Name="treeView" ItemsSource="{Binding TreeNodes}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
<StackPanel Orientation="Horizontal">
<TextBox x:Name="searchBox" Width="200"/>
<Button Content="查詢" Click="SearchButton_Click"/>
</StackPanel>
private void SearchButton_Click(object sender, RoutedEventArgs e)
{
string searchText = searchBox.Text;
// 清空原有的查詢結果
treeView.ItemsSource = null;
// 進行查詢并顯示結果
var searchResults = TreeNodes.Where(node => node.Name.Contains(searchText)).ToList();
treeView.ItemsSource = searchResults;
}
在該事件處理程序中,首先從搜索框中獲取輸入的搜索條件。然后,先將TreeView的ItemsSource屬性設置為null,以清空原有的查詢結果。接下來,根據搜索條件,使用LINQ的Where方法進行查詢,并將結果設置為TreeView的ItemsSource,以顯示查詢結果。
請注意,上述代碼中的"TreeNodes"是指節點列表的屬性名,應根據實際情況進行修改。另外,還可以根據需要調整搜索條件的匹配方式,例如使用Contains方法進行模糊匹配,或使用Equals方法進行精確匹配。