diff --git a/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml b/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml
index 262de022..54dc36a9 100644
--- a/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml
+++ b/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml
@@ -35,7 +35,7 @@
-
+
diff --git a/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml.cs b/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml.cs
index 23cf3571..5c2a8b5d 100644
--- a/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml.cs
+++ b/src/StructuredLogViewer.Avalonia/Controls/BuildControl.xaml.cs
@@ -54,7 +54,7 @@ public partial class BuildControl : UserControl
private TabItem filesTab;
private TabItem propertiesAndItemsTab;
private TabItem findInFilesTab;
- private TreeView filesTree;
+ private SearchAndResultsControl filesTree;
private TabControl centralTabControl;
private ListBox breadCrumb;
private TabControl leftPaneTabControl;
@@ -255,8 +255,9 @@ Style GetTreeViewItemStyle()
filesTab.IsVisible = true;
findInFilesTab.IsVisible = true;
PopulateFilesTab();
- filesTree.Styles.Add(GetTreeViewItemStyle());
- RegisterTreeViewHandlers(filesTree);
+ filesTree.ResultsList.Styles.Add(GetTreeViewItemStyle());
+ RegisterTreeViewHandlers(filesTree.ResultsList);
+ filesTree.TextChanged += FilesTree_SearchTextChanged;
var text =
@"This log contains the full text of projects and imported files used during the build.
@@ -607,9 +608,73 @@ private void PopulateFilesTab()
CompressTree(subFolder);
}
- filesTree.ItemsSource = root.Children;
- filesTree.GotFocus += (s, a) => ActiveTreeView = filesTree;
- filesTree.ContextMenu = sharedTreeContextMenu;
+ filesTree.DisplayItems(root.Children);
+ filesTree.ResultsList.GotFocus += (s, a) => ActiveTreeView = filesTree.ResultsList;
+ filesTree.ResultsList.ContextMenu = sharedTreeContextMenu;
+ }
+
+ private void FilesTree_SearchTextChanged(string text)
+ {
+ var list = filesTree.ResultsList.ItemsSource as IEnumerable