47 lines
2.5 KiB
Markdown
47 lines
2.5 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- DTS Viewer/DTS.Viewer.Loader/View/ShellView.xaml.cs
|
||
|
|
generated_at: "2026-04-16T14:06:20.949419+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "5592dd58a3630256"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Documentation: ShellView.xaml.cs
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
|
||
|
|
`ShellView` is the main shell window component for the DTS Viewer application. It serves as the primary container/window for the WPF-based viewer interface, implementing the `IShellView` contract to integrate with the broader application architecture. This code-behind file handles window initialization and state management for the shell view.
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
|
||
|
|
### Class: `ShellView`
|
||
|
|
- **Namespace:** `DTS.Viewer.Loader`
|
||
|
|
- **Inherits from:** `Window` (WPF base class, implicit via `InitializeComponent()` and `WindowState` usage)
|
||
|
|
- **Implements:** `IShellView` (from `DTS.Common.Interface`)
|
||
|
|
|
||
|
|
#### Constructor: `ShellView()`
|
||
|
|
```csharp
|
||
|
|
public ShellView()
|
||
|
|
```
|
||
|
|
**Behavior:** Initializes the XAML component via `InitializeComponent()` and immediately sets the window state to maximized (`WindowState.Maximized`). This ensures the shell window opens in a maximized state by default.
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
|
||
|
|
- The window will always initialize in a maximized state; there is no configuration or conditional logic to alter this behavior.
|
||
|
|
- `ShellView` must implement `IShellView` to satisfy the contract expected by other components in the system (exact members of `IShellView` are not visible in this source file).
|
||
|
|
- `InitializeComponent()` must be called before any UI element access; this is guaranteed by the constructor ordering.
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
|
||
|
|
### This module depends on:
|
||
|
|
- **`System.Windows`** - WPF framework for `Window`, `WindowState`, and `DependencyObject` infrastructure.
|
||
|
|
- **`DTS.Common.Interface.IShellView`** - Interface contract that `ShellView` implements.
|
||
|
|
|
||
|
|
### What depends on this module:
|
||
|
|
- Not determinable from this source file alone. The `IShellView` interface consumers and any XAML references would be the dependents, but these are not visible here.
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
|
||
|
|
- **Commented-out `StateChanged` handler:** There is disabled code that would toggle `ResizeMode` between `NoResize` (when maximized) and `CanResize` (otherwise). The reason for commenting this out is unclear from source alone—it may represent abandoned functionality, a bug workaround that is no longer needed, or tech debt.
|
||
|
|
- **Hardcoded maximized state:** The window always opens maximized with no way to configure this behavior from outside the constructor. If different initial window states are needed, this would require modification.
|