--- source_files: - DTS Viewer/DTS.Viewer/View/TabView.xaml.cs - DTS Viewer/DTS.Viewer/View/MenuView.xaml.cs - DTS Viewer/DTS.Viewer/View/MainView.xaml.cs - DTS Viewer/DTS.Viewer/View/ShellView.xaml.cs - DTS Viewer/DTS.Viewer/View/ViewerShellView.xaml.cs - DTS Viewer/DTS.Viewer/View/NavigationView.xaml.cs generated_at: "2026-04-17T16:28:39.450430+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "36dc40ad355c1541" --- # View ### Purpose This module provides WPF view components for the DTS Viewer application. It contains code-behind files for various XAML views that implement interfaces from `DTS.Common.Interface`, following a view-first architecture where each view is a partial class paired with XAML markup. The views serve as passive containers with no logic beyond initialization. ### Public Interface **TabView** : `ITabView` - `TabView()` - Default constructor that calls `InitializeComponent()` to load the associated XAML. **MenuView** : `IMenuView` - `MenuView()` - Default constructor that calls `InitializeComponent()` to load the associated XAML. **MainView** : `IMainView` - `MainView()` - Default constructor that calls `InitializeComponent()` to load the associated XAML. **ShellView** : `IViewerShellView` - `ShellView()` - Default constructor that calls `InitializeComponent()` to load the associated XAML. **ViewerShellView** : `IViewerShellView` - `ViewerShellView()` - Default constructor that calls `InitializeComponent()` to load the associated XAML. **NavigationView** : `INavigationView` - `NavigationView()` - Default constructor that calls `InitializeComponent()` to load the associated XAML. ### Invariants - Each view must have a corresponding XAML file (e.g., `TabView.xaml`) that defines the UI layout. - All views implement their respective interfaces from `DTS.Common.Interface`. - `ShellView` and `ViewerShellView` both implement `IViewerShellView` - unclear if they are intended to be interchangeable or serve different contexts. ### Dependencies - **Depends on**: `DTS.Common.Interface` (for `ITabView`, `IMenuView`, `IMainView`, `IViewerShellView`, `INavigationView` interfaces) - **Depended on by**: Not determinable from source alone; likely consumed by a bootstrapper or DI container configuration. ### Gotchas - **Duplicate shell view implementations**: Both `ShellView` and `ViewerShellView` implement `IViewerShellView`. The source does not clarify which is canonical or under what circumstances each is used. They exist in different namespaces (`DTS.Viewer.View` vs `DTS.Viewer`). - No view logic beyond initialization is present; any behavior must be implemented in associated ViewModels or elsewhere. ---