40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.GraphList/View/ExportGraphMainView.xaml.cs
|
||
|
|
- DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.GraphList/View/GraphMainView.xaml.cs
|
||
|
|
generated_at: "2026-04-17T16:11:57.316727+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "cfdd9801dd7a1dcf"
|
||
|
|
---
|
||
|
|
|
||
|
|
# View
|
||
|
|
|
||
|
|
### Purpose
|
||
|
|
This module provides WPF view components for graph list functionality, specifically for displaying and exporting graphs. Both views implement a pattern of suppressing the `ApplicationCommands.Undo` command by adding a `CommandBinding` that marks the command as handled. This prevents undo operations from propagating in these views.
|
||
|
|
|
||
|
|
### Public Interface
|
||
|
|
|
||
|
|
**ExportGraphMainView** (implements `IExportGraphMainView`)
|
||
|
|
- `ExportGraphMainView()` - Constructor that calls `InitializeComponent()` and adds a `CommandBinding` for `ApplicationCommands.Undo`. Both the `Execute` and `CanExecute` handlers set `e.Handled = true` with no other action.
|
||
|
|
|
||
|
|
**GraphMainView** (implements `IGraphMainView`)
|
||
|
|
- `GraphMainView()` - Constructor that calls `InitializeComponent()` and adds a `CommandBinding` for `ApplicationCommands.Undo`. Both the `Execute` and `CanExecute` handlers set `e.Handled = true`. Contains commented-out code for focusing `TvTestChannels` and checking `root.IsChecked`.
|
||
|
|
|
||
|
|
### Invariants
|
||
|
|
- Both views unconditionally suppress `ApplicationCommands.Undo` by handling it without action.
|
||
|
|
- The `CanExecute` handler does not set `e.CanExecute`, only `e.Handled`.
|
||
|
|
|
||
|
|
### Dependencies
|
||
|
|
**Depends on:**
|
||
|
|
- `DTS.Common.Interface` (`IExportGraphMainView`, `IGraphMainView`)
|
||
|
|
- `System.Windows.Input` (`CommandBinding`, `ApplicationCommands`)
|
||
|
|
|
||
|
|
**Depended on by:** Not determinable from source alone.
|
||
|
|
|
||
|
|
### Gotchas
|
||
|
|
- **Undo suppression pattern:** Both views suppress undo without any conditional logic. This may interfere with expected user behavior if undo is needed elsewhere in the application.
|
||
|
|
- **Commented-out code in GraphMainView:** References to `root.IsChecked` and `TvTestChannels.Focus()` suggest incomplete or removed functionality.
|
||
|
|
- **Namespace suppression:** ReSharper disable comments indicate potential namespace convention violations.
|
||
|
|
|
||
|
|
---
|