private async Task Search(string navigationParameter)
        {
            if (DataSource == null || DataSource.CurrentStorageFolder == null)
            {
                return;
            }
            ObservableCollection <ExplorerItem> explorerGroups = new ObservableCollection <ExplorerItem>();
            var queryText = navigationParameter;
            var query     = queryText.ToLower();
            var items     = await DataSource.CurrentStorageFolder.GetItemsAsync();

            var itemsFilter = items.Select(item => new
            {
                Distance = item.Name.ToLower().Contains(query) ? 1 : Levenshtein.Distance(item.Name.ToLower(), query),
                Item     = item
            }
                                           ).Where(newItem => newItem.Distance >= 0.8).OrderByDescending(newItem => newItem.Distance);

            foreach (var item in itemsFilter)
            {
                if (item.Item is StorageFolder)
                {
                    explorerGroups.AddStorageItem(item.Item as StorageFolder);
                }
                else if (item.Item is StorageFile)
                {
                    explorerGroups.AddFileItem(item.Item as StorageFile);
                }
            }


            DataSource.FromSearch    = true;
            DataSource.SearchedItems = explorerGroups;
        }
        private async Task Search(string navigationParameter)
        {
            if (DataSource == null || DataSource.CurrentStorageFolder == null) return;
            ObservableCollection<ExplorerItem> explorerGroups = new ObservableCollection<ExplorerItem>();
            var queryText = navigationParameter;
            var query = queryText.ToLower();
            var items = await DataSource.CurrentStorageFolder.GetItemsAsync();
            var itemsFilter = items.Select(item => new
            {
                Distance = item.Name.ToLower().Contains(query) ? 1 : Levenshtein.Distance(item.Name.ToLower(), query),
                Item = item
            }
            ).Where(newItem => newItem.Distance >= 0.8).OrderByDescending(newItem => newItem.Distance);
            foreach (var item in itemsFilter)
            {
                if (item.Item is StorageFolder)
                    explorerGroups.AddStorageItem(item.Item as StorageFolder);
                else if (item.Item is StorageFile)
                    explorerGroups.AddFileItem(item.Item as StorageFile);
            }


            DataSource.FromSearch = true;
            DataSource.SearchedItems = explorerGroups;
        }