--- 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. ---