protected async Task <bool> ListView_LoadItems(string path) { ListView.Clear(); if (!Directory.Exists(path)) { return(false); } ListView.BeginUpdate(); var headers = ListViewItemFactory.GetFileHeaderItems(); foreach (var header in headers) { ListView.Columns.Add(header); } ListView.EndUpdate(); var list = await Service.GetFileItemsAsync(path); var items = await ListViewItemFactory.GetDetailItemsAsync(list); ListView.BeginUpdate(); foreach (var item in items) { ListView.Items.Add(item); } ListView.EndUpdate(); ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); return(true); }
public async Task <ExecuteResult> ExecuteAsync() { var path = Cache.PathHistory[Cache.HistoryMark]; if (string.IsNullOrWhiteSpace(path) || string.IsNullOrWhiteSpace(Pattern) || !Directory.Exists(path)) { return(new ExecuteResult(false, "Invalid search path or pattern")); } ListView.Clear(); ListView.BeginUpdate(); var headers = ListViewItemFactory.GetFileHeaderItems(); foreach (var header in headers) { ListView.Columns.Add(header); } ListView.EndUpdate(); IList <FileItem> list; try { list = await Service.FindFileItemsAsync(path, Pattern, SearchOption.AllDirectories); } catch (UnauthorizedAccessException e) { Debug.WriteLine(e); return(new ExecuteResult(false, e.Message)); } var items = await ListViewItemFactory.GetDetailItemsAsync(list); ListView.BeginUpdate(); foreach (var item in items) { ListView.Items.Add(item); } ListView.EndUpdate(); ListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); return(new ExecuteResult(true, string.Empty)); }