Files
DP44/docs/ai/DTS Viewer/DTS.Viewer.Modules/DTS.Viewer.GraphList/View.md

40 lines
2.1 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
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.
---