38 lines
1.9 KiB
Markdown
38 lines
1.9 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- Common/DTS.Common/Interface/DTS.Viewer/Navigation/INavigationView.cs
|
||
|
|
- Common/DTS.Common/Interface/DTS.Viewer/Navigation/INavigationViewModel.cs
|
||
|
|
generated_at: "2026-04-17T16:07:17.600445+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "939a3a0ee1041138"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Navigation
|
||
|
|
|
||
|
|
### Purpose
|
||
|
|
This module defines the contract for navigation-related views and view models within the DTS Viewer application. It establishes the interface hierarchy for navigation components, enabling a decoupled architecture where navigation views can be managed and accessed through their view models. The module serves as an abstraction layer for navigation UI components in what appears to be an MVVM (Model-View-ViewModel) pattern.
|
||
|
|
|
||
|
|
### Public Interface
|
||
|
|
|
||
|
|
**INavigationView** (interface)
|
||
|
|
- Inherits from: `IBaseView`
|
||
|
|
- No additional members defined. Serves as a marker interface for navigation-specific views.
|
||
|
|
|
||
|
|
**INavigationViewModel** (interface)
|
||
|
|
- Inherits from: `IBaseViewModel`
|
||
|
|
- `INavigationView NavigationView { get; }` - Gets the Shell View (as documented). Read-only property providing access to the associated navigation view instance.
|
||
|
|
|
||
|
|
### Invariants
|
||
|
|
- `INavigationView` must always be assignable to `IBaseView`.
|
||
|
|
- `INavigationViewModel` must always be assignable to `IBaseViewModel`.
|
||
|
|
- The `NavigationView` property must return a valid `INavigationView` instance (not null) when accessed on a properly initialized implementation.
|
||
|
|
|
||
|
|
### Dependencies
|
||
|
|
- **Depends on**: `DTS.Common.Base` (specifically `IBaseView` and `IBaseViewModel` interfaces)
|
||
|
|
- **Depended on by**: Unknown from source alone (likely concrete navigation implementations and higher-level shell/coordination components)
|
||
|
|
|
||
|
|
### Gotchas
|
||
|
|
- The XML documentation comment references "Shell View" for `NavigationView`, which may be a copy-paste artifact or indicate the navigation view serves as a shell container. The actual purpose should be verified against implementations.
|
||
|
|
|
||
|
|
---
|