From aec182aec946b652c9a40ffc0591ce09f2226c02 Mon Sep 17 00:00:00 2001 From: Valery Varaksa <119746866+loyvsc@users.noreply.github.com> Date: Mon, 25 Aug 2025 20:44:47 +0300 Subject: [PATCH] Fix selected files filename (#19540) --- .../Internal/ManagedFileChooserViewModel.cs | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs b/src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs index 2f03c0d141..d408e6f9f2 100644 --- a/src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs +++ b/src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs @@ -9,6 +9,7 @@ using Avalonia.Controls.Platform; using Avalonia.Platform.Storage; using Avalonia.Reactive; using Avalonia.Threading; +using Avalonia.Utilities; namespace Avalonia.Dialogs.Internal { @@ -228,11 +229,29 @@ namespace Avalonia.Dialogs.Internal if (!_selectingDirectory) { - var selectedItem = SelectedItems.FirstOrDefault(); - - if (selectedItem != null) + if (SelectedItems.Count > 1) + { + var sb = StringBuilderCache.Acquire(); + + for (var i = 0; i < SelectedItems.Count; i++) + { + var item = SelectedItems[i]; + sb.Append('"'); + sb.Append(item.DisplayName); + sb.Append('"'); + if (i + 1 < SelectedItems.Count) + { + sb.Append(' '); + } + } + + FileName = sb.ToString(); + + StringBuilderCache.Release(sb); + } + else { - FileName = selectedItem.DisplayName; + FileName = SelectedItems.FirstOrDefault()?.DisplayName; } } }