53 lines
2.6 KiB
Markdown
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.
|
||
|
|
|
||
|
|
---
|