Files
2026-04-17 14:55:32 -04:00

53 lines
2.6 KiB
Markdown

---
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.
---