feat(04-08): create TransferViewModel and TransferView

- TransferViewModel: source/dest site selection, transfer mode, conflict policy, confirmation dialog, per-item results, failed-items CSV export
- TransferView.xaml: DockPanel layout with GroupBoxes for source/dest, mode radio buttons, conflict policy ComboBox, progress bar, cancel button, export failed items button
- TransferView.xaml.cs: code-behind wires SitePickerDialog + FolderBrowserDialog for source and dest browsing
- Added EnumBoolConverter and StringToVisibilityConverter to IndentConverter.cs
- Registered converters in App.xaml; registered TransferViewModel, TransferView, IFileTransferService, BulkResultCsvExportService in App.xaml.cs
This commit is contained in:
Dev
2026-04-03 10:19:16 +02:00
parent 509c0c6843
commit 7b78b19bf5
6 changed files with 358 additions and 3 deletions

View File

@@ -119,6 +119,12 @@ public partial class App : Application
services.AddTransient<Func<TenantProfile, SitePickerDialog>>(sp =>
profile => new SitePickerDialog(sp.GetRequiredService<ISiteListService>(), profile));
// Phase 4: File Transfer
services.AddTransient<IFileTransferService, FileTransferService>();
services.AddTransient<BulkResultCsvExportService>();
services.AddTransient<TransferViewModel>();
services.AddTransient<TransferView>();
services.AddSingleton<MainWindow>();
}
}