using System.Windows; using System.Windows.Controls; using Microsoft.Extensions.DependencyInjection; using SharepointToolbox.ViewModels; using SharepointToolbox.Views.Dialogs; using SharepointToolbox.Views.Tabs; namespace SharepointToolbox; public partial class MainWindow : Window { private readonly MainWindowViewModel _viewModel; public MainWindow(MainWindowViewModel viewModel, IServiceProvider serviceProvider) { InitializeComponent(); _viewModel = viewModel; DataContext = viewModel; // Wire profile management dialog factory viewModel.OpenProfileManagementDialog = () => serviceProvider.GetRequiredService(); // Replace Permissions tab placeholder with the DI-resolved PermissionsView PermissionsTabItem.Content = serviceProvider.GetRequiredService(); // Replace Settings tab placeholder with the DI-resolved SettingsView SettingsTabItem.Content = serviceProvider.GetRequiredService(); Loaded += OnLoaded; } private async void OnLoaded(object sender, RoutedEventArgs e) { await _viewModel.LoadProfilesAsync(); } // Expose the LogPanel RichTextBox (generated by x:Name="LogPanel") for LogPanelSink wiring public RichTextBox GetLogPanel() => LogPanel; }