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
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
Inherits from SplitButtonData.
Constructor
Description
MenuItemData()
Creates instance with isApplicationMenu = false
MenuItemData(bool isApplicationMenu)
Creates instance with specified application menu flag
Inherits from MenuItemData.
Constructor
Description
SplitMenuItemData()
Creates instance with isApplicationMenu = false
SplitMenuItemData(bool isApplicationMenu)
Creates instance with specified application menu flag
Inherits from MenuItemData.
Constructor
Description
ApplicationMenuItemData()
Creates instance with isApplicationMenu = false
ApplicationMenuItemData(bool isApplicationMenu)
Creates instance with specified application menu flag
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