protected override IList <TreeViewItem> BuildRows( TreeViewItem root) { m_Rows.Clear(); var dataRoot = m_dataSource.ProjectRoot; if (m_pickerMode == PickerMode.ComponentPicker) { dataRoot = m_dataSource.GetComponentDataRoot(componentObjectType); } if (!string.IsNullOrEmpty(searchString)) { dataRoot = m_dataSource.GetSearchResults(); } AddChildrenRecursive(dataRoot, m_Rows); searchString = ""; return(m_Rows.Cast <TreeViewItem>().ToList()); }