init
This commit is contained in:
35
docs/ai/DataPRO/Modules/Menu/HamburgerMenu/View.md
Normal file
35
docs/ai/DataPRO/Modules/Menu/HamburgerMenu/View.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
source_files:
|
||||
- DataPRO/Modules/Menu/HamburgerMenu/View/HamburgerMenuView.xaml.cs
|
||||
generated_at: "2026-04-17T16:15:25.514898+00:00"
|
||||
model: "zai-org/GLM-5-FP8"
|
||||
schema_version: 1
|
||||
sha256: "6227b274bd720bdb"
|
||||
---
|
||||
|
||||
# View
|
||||
|
||||
### Purpose
|
||||
This module contains the code-behind for the `HamburgerMenuView` WPF UserControl. It provides the UI interaction logic for a hamburger-style menu, specifically handling the click event on the hamburger button to display a context menu retrieved from the view model.
|
||||
|
||||
### Public Interface
|
||||
|
||||
**`HamburgerMenuView` class** - Partial class, implements `IHamburgerMenuView`
|
||||
|
||||
- **`HamburgerMenuView()`** - Default constructor. Calls `InitializeComponent()` to load the XAML.
|
||||
- **`void Hamburger_Click(object sender, System.Windows.RoutedEventArgs e)`** - Private event handler. Retrieves the `IHamburgerMenuViewModel` from `DataContext`, gets the context menu via `GetContextMenu()`, sets the `PlacementTarget` to the sender button, and opens the context menu.
|
||||
|
||||
### Invariants
|
||||
- `DataContext` must be castable to `IHamburgerMenuViewModel` when `Hamburger_Click` is invoked, otherwise an `InvalidCastException` will occur.
|
||||
- The sender in `Hamburger_Click` must be castable to `Button`, otherwise `PlacementTarget` will be set to null.
|
||||
|
||||
### Dependencies
|
||||
- **Depends on**: `DTS.Common.Interface.Menu.HamburgerMenu` (for `IHamburgerMenuView` and `IHamburgerMenuViewModel`)
|
||||
- **Depends on**: `System.Windows.Controls` (for `Button` and UserControl base class)
|
||||
- **XAML file**: `HamburgerMenuView.xaml` (referenced via `InitializeComponent()`)
|
||||
|
||||
### Gotchas
|
||||
- The file contains a large block of commented-out code (approximately 60 lines) related to `GridViewColumnHeader`, `ListView` mouse handling, and `SLICE6TreeViewPopup`. This appears to be dead code from another view that was copied or refactored. It should be removed for clarity.
|
||||
- The namespace is declared as `HamburgerMenu` despite the file path suggesting `HamburgerMenu.View`, with a `// ReSharper disable CheckNamespace` directive suppressing the mismatch.
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user