Skip to content

Commit

Permalink
fix(FileOpenPicker): Same behavior of UWP when add * file type on Ski…
Browse files Browse the repository at this point in the history
…a.WPF
  • Loading branch information
workgroupengineering committed Dec 21, 2021
1 parent 6990f7b commit 2b11143
Showing 1 changed file with 19 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,31 @@ private async Task<StorageFile[]> OpenPickerAsync(bool multiple)
};

var filterBuilder = new StringBuilder();
filterBuilder.Append(string.Join("|", _picker.FileTypeFilter.Select(fileType => $"{fileType}|*{fileType}")));
var all = false;
foreach (var fileType in _picker.FileTypeFilter)
{
if (fileType == "*")
{
all = true;
}
else
{
filterBuilder.Append($"|{fileType}|*{fileType}");
}
}

if (_picker.FileTypeFilter.Count > 1)
if (all)
{
filterBuilder.Append("|All|*");
}
else
{
// Add default entry for all item types at once
var fullFilter = string.Join(";", _picker.FileTypeFilter.Select(fileType => $"*{fileType}"));
filterBuilder.Append($"|All|{fullFilter}");
}

openFileDialog.Filter = filterBuilder.ToString();

openFileDialog.Filter = filterBuilder.ToString(1, filterBuilder.Length - 1);
openFileDialog.FilterIndex = _picker.FileTypeFilter.Count > 1 ? _picker.FileTypeFilter.Count : 0;

openFileDialog.InitialDirectory = PickerHelpers.GetInitialDirectory(_picker.SuggestedStartLocation);
Expand Down

0 comments on commit 2b11143

Please sign in to comment.