Files
DP44/docs/ai/Common/DTS.CommonCore/RibbonControl/Classes.md
2026-04-17 14:55:32 -04:00

11 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/RibbonControl/Classes/ButtonData.cs
Common/DTS.CommonCore/RibbonControl/Classes/SeparatorData.cs
Common/DTS.CommonCore/RibbonControl/Classes/GalleryItemData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ComboBoxData.cs
Common/DTS.CommonCore/RibbonControl/Classes/MenuItemData.cs
Common/DTS.CommonCore/RibbonControl/Classes/SplitMenuItemData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ApplicationMenuItemData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ApplicationSplitMenuItemData.cs
Common/DTS.CommonCore/RibbonControl/Classes/TextBoxData.cs
Common/DTS.CommonCore/RibbonControl/Classes/CheckBoxData.cs
Common/DTS.CommonCore/RibbonControl/Classes/RadioButtonData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ToggleButtonData.cs
Common/DTS.CommonCore/RibbonControl/Classes/SplitButtonData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ContextualTabGroupData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ViewModel.cs
Common/DTS.CommonCore/RibbonControl/Classes/GalleryCategoryData.cs
Common/DTS.CommonCore/RibbonControl/Classes/TabData.cs
Common/DTS.CommonCore/RibbonControl/Classes/RibbonData.cs
Common/DTS.CommonCore/RibbonControl/Classes/GalleryData.cs
Common/DTS.CommonCore/RibbonControl/Classes/ControlData.cs
Common/DTS.CommonCore/RibbonControl/Classes/MenuButtonData.cs
Common/DTS.CommonCore/RibbonControl/Classes/GroupData.cs
2026-04-17T15:27:41.426809+00:00 zai-org/GLM-5-FP8 1 b5848407592cc670

DTS.Common.RibbonControl Data Classes Documentation

1. Purpose

This module provides a data model layer for a WPF Ribbon control implementation. It defines a hierarchy of data classes that represent ribbon UI elements—tabs, groups, buttons, menus, galleries, and various input controls—each implementing INotifyPropertyChanged to support data binding. The module appears designed to serve as a ViewModel or data context layer, separating ribbon state from UI rendering concerns while providing auto-generated sample data for testing/demo purposes.


2. Public Interface

ControlData (Base Class)

Namespace: DTS.Common.RibbonControl

Base class for all ribbon control data objects. Implements INotifyPropertyChanged.

Property Type Description
Label string Display label for the control
LargeImage Uri URI for 32x32 icon
SmallImage Uri URI for 16x16 icon
ToolTipTitle string Tooltip header text
ToolTipDescription string Tooltip body text
ToolTipImage Uri Tooltip image URI
ToolTipFooterTitle string Tooltip footer title
ToolTipFooterDescription string Tooltip footer description
ToolTipFooterImage Uri Tooltip footer image URI
Command ICommand Command executed on control activation
KeyTip string Keyboard shortcut hint

Event: PropertyChanged (from INotifyPropertyChanged)


ButtonData

Inherits from ControlData. No additional members—serves as a marker type for simple button controls.


SeparatorData

Inherits from ControlData. No additional members—represents a visual separator in menus/toolbars.


GalleryItemData

Inherits from ControlData. No additional members—represents an individual item within a gallery.


TextBoxData

Inherits from ControlData.

Property Type Description
Text string Current text content; raises PropertyChanged("Text") on change

CheckBoxData

Inherits from ControlData.

Property Type Description
IsChecked bool Checked state; raises PropertyChanged("IsChecked") on change

RadioButtonData

Inherits from ControlData.

Property Type Description
IsChecked bool Selected state; raises PropertyChanged("IsChecked") on change

ToggleButtonData

Inherits from ControlData.

Property Type Description
IsChecked bool Toggled state; raises PropertyChanged("IsChecked") on change

MenuButtonData

Inherits from ControlData.

Constructor Description
MenuButtonData() Creates instance with isApplicationMenu = false
MenuButtonData(bool isApplicationMenu) Creates instance with specified application menu flag
Property Type Description
IsVerticallyResizable bool Vertical resize capability
IsHorizontallyResizable bool Horizontal resize capability
ControlDataCollection ObservableCollection<ControlData> Lazy-initialized collection of child controls (auto-populated with sample data)

ComboBoxData

Inherits from MenuButtonData. No additional members.


SplitButtonData

Inherits from MenuButtonData.

Constructor Description
SplitButtonData() Creates instance with isApplicationMenu = false
SplitButtonData(bool isApplicationMenu) Creates instance with specified application menu flag
Property Type Description
IsChecked bool Checked state
IsCheckable bool Whether the button can be toggled
DropDownButtonData ButtonData Lazy-initialized button data for dropdown portion

MenuItemData

Inherits from SplitButtonData.

Constructor Description
MenuItemData() Creates instance with isApplicationMenu = false
MenuItemData(bool isApplicationMenu) Creates instance with specified application menu flag

SplitMenuItemData

Inherits from MenuItemData.

Constructor Description
SplitMenuItemData() Creates instance with isApplicationMenu = false
SplitMenuItemData(bool isApplicationMenu) Creates instance with specified application menu flag

ApplicationMenuItemData

Inherits from MenuItemData.

Constructor Description
ApplicationMenuItemData() Creates instance with isApplicationMenu = false
ApplicationMenuItemData(bool isApplicationMenu) Creates instance with specified application menu flag

ApplicationSplitMenuItemData

Inherits from SplitMenuItemData.

Constructor Description
ApplicationSplitMenuItemData() Creates instance with isApplicationMenu = false
ApplicationSplitMenuItemData(bool isApplicationMenu) Creates instance with specified application menu flag

GalleryCategoryData

Inherits from ControlData.

Property Type Description
GalleryItemDataCollection ObservableCollection<GalleryItemData> Lazy-initialized collection (auto-populated with sample items)

GalleryCategoryData<T>

Generic variant inheriting from ControlData.

Property Type Description
GalleryItemDataCollection ObservableCollection<T> Lazy-initialized generic collection

GalleryData

Inherits from ControlData.

Property Type Description
CategoryDataCollection ObservableCollection<GalleryCategoryData> Lazy-initialized categories (auto-populated with sample data)
SelectedItem GalleryItemData Currently selected gallery item
CanUserFilter bool Whether user can filter gallery items

GalleryData<T>

Generic variant inheriting from ControlData.

Property Type Description
CategoryDataCollection ObservableCollection<GalleryCategoryData<T>> Lazy-initialized generic categories
SelectedItem T Currently selected item
CanUserFilter bool Whether user can filter gallery items

GroupData

Inherits from ControlData.

Constructor Description
GroupData(string header) Creates instance with specified header label
Property Type Description
ControlDataCollection ObservableCollection<ControlData> Lazy-initialized child controls (auto-populated with sample controls)

TabData

Implements INotifyPropertyChanged.

Constructor Description
TabData() Creates instance with null header
TabData(string header) Creates instance with specified header
Property Type Description
Header string Tab display text
ContextualTabGroupHeader string Header of associated contextual tab group
IsSelected bool Selection state
GroupDataCollection ObservableCollection<GroupData> Lazy-initialized groups (auto-populated with sample groups)

ContextualTabGroupData

Implements INotifyPropertyChanged.

Constructor Description
ContextualTabGroupData() Creates instance with null header
ContextualTabGroupData(string header) Creates instance with specified header
Property Type Description
Header string Group display text
IsVisible bool Visibility state
TabDataCollection ObservableCollection<TabData> Lazy-initialized tabs collection

RibbonData

Implements INotifyPropertyChanged.

Property Type Description
TabDataCollection ObservableCollection<TabData> Lazy-initialized tabs (auto-populated based on ViewModelData.TabCount and ViewModelData.ContextualTabGroupCount)
ContextualTabGroupDataCollection ObservableCollection<ContextualTabGroupData> Lazy-initialized contextual groups
ApplicationMenuData MenuButtonData Lazy-initialized application menu data

ViewModelData (Static Class)

Constant Type Value Description
TabCount int 4 Number of tabs to generate
ContextualTabGroupCount int 2 Number of contextual groups
GroupCount int 3 Groups per tab
ControlCount int 5 Controls per group (unused)
ButtonCount int 1 Buttons per group
ToggleButtonCount int 1 ToggleButtons per group
RadioButtonCount int 1 RadioButtons per group
CheckBoxCount int 1 CheckBoxes per group
TextBoxCount int 1 TextBoxes per group
MenuButtonCount int 1 MenuButtons per group
MenuItemCount int 2 MenuItems per menu
SplitButtonCount int 1 SplitButtons per group
SplitMenuItemCount int 2 SplitMenuItems per menu
GalleryCount int 1 Galleries per menu
GalleryCategoryCount int 3 Categories per gallery
GalleryItemCount int 10 Items per gallery category
MenuItemNestingCount int 2 Maximum menu nesting depth
ComboBoxCount int 1 ComboBoxes per group
Property Type Description
RibbonData RibbonData Thread-static lazy-initialized ribbon data instance
DefaultCommand ICommand Lazy-initialized DelegateCommand that always executes successfully