--- source_files: - DTS Viewer/DTS.Viewer/Modules/Main/View/MainView.xaml.cs - DTS Viewer/DTS.Viewer/Modules/Main/View/ViewerShellView.xaml.cs - DTS Viewer/DTS.Viewer/Modules/Main/View/MainViewLite.xaml.cs - DTS Viewer/DTS.Viewer/Modules/Main/View/ExportMainView.xaml.cs - DTS Viewer/DTS.Viewer/Modules/Main/View/ViewerMainView.xaml.cs - DTS Viewer/DTS.Viewer/Modules/Main/View/ExportMainViewGrid.xaml.cs - DTS Viewer/DTS.Viewer/Modules/Main/View/ViewerMainViewGrid.xaml.cs generated_at: "2026-04-17T15:50:13.365274+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "5917449308f31e2b" --- # Documentation: DTS.Viewer Main View Components ## 1. Purpose This module contains the main view components for the DTS Viewer application, implementing a WPF-based visualization and export system. It provides multiple view variants (standard, lite, export, and viewer modes) that serve as UI shells for chart/graph visualization and PDF export functionality. The views follow a code-behind pattern with XAML partial classes, integrating with Prism's event aggregation system for loosely-coupled communication between components. --- ## 2. Public Interface ### MainView **Signature:** `public partial class MainView : IMainView` **Constructor:** - `MainView()` — Initializes the component via `InitializeComponent()`. **Behavior:** Minimal code-behind for the main window view. Serves as a shell container; actual behavior is defined in XAML and associated ViewModel. --- ### ViewerShellView **Signature:** `public partial class ViewerShellView : IViewerShellView` **Constructor:** - `ViewerShellView()` — Initializes the component via `InitializeComponent()`. **Behavior:** Shell view for the viewer mode. Minimal code-behind; behavior defined in XAML. --- ### MainViewLite **Signature:** `public partial class MainViewLite : IMainViewerView` **Constructor:** - `MainViewLite()` — Initializes the component via `InitializeComponent()`. **Behavior:** Lightweight variant of the main viewer view. Inherits from `UserControl`. --- ### ExportMainView **Signature:** `public partial class ExportMainView : IExportMainView` **Constructor:** - `ExportMainView()` — Initializes the component via `InitializeComponent()`. **Behavior:** View for export mode. Minimal code-behind. --- ### ViewerMainView **Signature:** `public partial class ViewerMainView : IViewerMainView` **Constructor:** - `ViewerMainView()` — Initializes the component via `InitializeComponent()`. **Behavior:** Main view for viewer mode. Contains commented-out code for AvalonDock layout serialization/deserialization (referencing `DockManager`, `XmlLayoutSerializer`,