Files
DP44/docs/ai/DTS Viewer/DTS.Viewer.Loader/View.md
2026-04-17 14:55:32 -04:00

3.2 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DTS Viewer/DTS.Viewer.Loader/View/ShellView.xaml.cs
2026-04-17T16:14:09.336185+00:00 zai-org/GLM-5-FP8 1 96ab4a7b54264b7e

View

Purpose

This module contains the ShellViewModel class, which serves as the ViewModel for the main application shell in a WPF application built using the Prism framework. It acts as the orchestration layer for the UI, managing the view's DataContext, handling interaction requests (notifications/confirmations), and coordinating region navigation via the IRegionManager. It bridges the view (IShellView) and the backend services via dependency injection (IUnityContainer) and event aggregation (IEventAggregator).

Public Interface

  • ShellViewModel(IShellView view, IRegionManager regionManager, IEventAggregator eventAggregator, IUnityContainer unityContainer)
    • Constructor that initializes the ViewModel, sets the View's DataContext to itself, instantiates InteractionRequest objects, and subscribes to the RaiseNotification event.
  • void Initialize() / void Initialize(object parameter)
    • Empty initialization methods.
  • void Activated()
    • Empty activation method.
  • void Cleanup()
    • Throws NotImplementedException.
  • Task CleanupAsync() / Task InitializeAsync() / Task InitializeAsync(object parameter)
    • Asynchronous lifecycle methods that currently throw NotImplementedException.
  • List<FrameworkElement> GetRegions()
    • Returns a list of framework elements named "Region" within the MainShell grid of the view.
  • Object ContextMainRegion
    • Property that gets or sets the content of the MainRegion ContentControl in the View. Triggers OnPropertyChanged on set.
  • InteractionRequest<Notification> NotificationRequest
    • Property used to raise popup notifications in the UI.
  • InteractionRequest<Confirmation> ConfirmationRequest
    • Property used to raise confirmation dialogs in the UI.
  • Properties: Width, Height, IsMenuIncluded, IsNavigationIncluded, HeaderInfo (returns "MainRegion"), IsBusy, IsDirty (read-only).

Invariants

  • The View property is assigned in the constructor and is never expected to be null during the object's lifetime.
  • NotificationRequest and ConfirmationRequest are initialized immediately in the constructor and are never null.
  • The HeaderInfo property always returns the string "MainRegion".
  • IsDirty is a read-only property (effectively always false/default unless logic exists elsewhere).

Dependencies

  • Dependencies:
    • DTS.Common.Events (for RaiseNotification, NotificationContentEventArgs)
    • DTS.Common.Interface (for IShellView, IViewerShellView, IViewerShellViewModel)
    • DTS.Common.Utils (for Utils.GetChildrenByName)
    • DTS.Common.Base
    • Microsoft.Practices.Prism.Events (for IEventAggregator)
    • Microsoft.Practices.Prism.Regions (for IRegionManager)
    • Microsoft.Practices.Prism.Interactivity.InteractionRequest
    • Microsoft.Practices.Unity (for IUnityContainer)
    • System.ComponentModel.Composition