--- 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()` 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. ---