Files
DP44/docs/ai/Common/DTS.CommonCore/Resources.md

43 lines
2.3 KiB
Markdown
Raw Normal View History

2026-04-17 14:55:32 -04:00
---
source_files:
- Common/DTS.CommonCore/Resources/ResourceNames.cs
- Common/DTS.CommonCore/Resources/MainTabControlResource.xaml.cs
generated_at: "2026-04-17T16:24:00.270672+00:00"
model: "zai-org/GLM-5-FP8"
schema_version: 1
sha256: "95f0f52074d58138"
---
# Resources
### Purpose
This module provides shared XAML resources and constant identifiers for UI transitions and tab control behaviors within the DTS application. It centralizes storyboard naming conventions and provides a centralized tooltip event handling mechanism that integrates with the Prism event aggregation system.
### Public Interface
**`Athena.Resources.ResourceNames`** (internal static class)
- `const string EntryStoryboardName = "InTransition"` - Constant defining the name used for entry/transition-in storyboard animations.
- `const string ExitStoryboardName = "OutTransition"` - Constant defining the name used for exit/transition-out storyboard animations.
**`DTS.Common.Resources.MainTabControlResource`** (public partial class)
- `void ToolTipEventHandler(object sender, System.Windows.Controls.ToolTipEventArgs e)` - Handles tooltip events by marking them as handled and publishing a `HelpTextEvent` via the `IEventAggregator`. Extracts the event aggregator via `ServiceLocator.Current.GetInstance<IEventAggregator>()` and publishes a `HelpTextEventArg` containing the sender and event args.
### Invariants
- `ResourceNames` constants are compile-time constants and cannot be modified at runtime.
- `ToolTipEventHandler` always sets `e.Handled = true` before publishing the event.
- `ToolTipEventHandler` assumes `ServiceLocator.Current` is properly configured and `IEventAggregator` is registered.
### Dependencies
**Depends on:**
- `Microsoft.Practices.ServiceLocation` (ServiceLocator)
- `Microsoft.Practices.Prism.Events` (IEventAggregator, PubSubEvent)
- `DTS.Common.Events` (HelpTextEvent, HelpTextEventArg)
- `System.Windows.Controls` (ToolTipEventArgs)
**Depended on by:** Not determinable from source alone.
### Gotchas
- The `ResourceNames` class is in namespace `Athena.Resources` while `MainTabControlResource` is in `DTS.Common.Resources` - this namespace inconsistency may cause confusion when referencing.
- `ToolTipEventHandler` will throw if `ServiceLocator.Current` is null or if `IEventAggregator` is not registered - no null checks are performed.
---