--- source_files: - DataPRO/Modules/SystemSettings/UISettings/ViewModel/ISOSettingsViewModel.cs generated_at: "2026-04-17T16:46:49.279114+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "5f572b9f7fac2a33" --- # Documentation: UISettingsViewModel ## 1. Purpose `UISettingsViewModel` is a Prism-based view model within the `UISettings` namespace that serves as the presentation logic handler for UI settings configuration. It implements `IUISettingsViewModel` and coordinates between its associated view (`IUISettingsView`) and the broader application infrastructure through Prism's event aggregation and region management. The class provides notification and confirmation dialog capabilities, busy state management, and exposes UI configuration flags for menu and navigation inclusion. --- ## 2. Public Interface ### Constructor ```csharp public UISettingsViewModel(IUISettingsView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer) ``` Initializes the view model, sets the view's `DataContext` to itself, creates interaction requests, and subscribes to `RaiseNotification` and `BusyIndicatorChangeNotification` events. ### Properties | Property | Type | Description | |----------|------|-------------| | `View` | `IUISettingsView` | The associated view instance. | | `NotificationRequest` | `InteractionRequest` | Interaction request for displaying notification dialogs. | | `ConfirmationRequest` | `InteractionRequest` | Interaction request for displaying confirmation dialogs. | | `IsDirty` | `bool` | Indicates whether the view model has unsaved changes. Private setter only. | | `IsBusy` | `bool` | Controls busy indicator state. Bound to `BusyIndicatorChangeNotification` events. | | `IsMenuIncluded` | `bool` | Flag indicating whether menu is included. | | `IsNavigation