--- source_files: - Common/DTS.CommonCore/Interface/Components/IAssemblyView.cs - Common/DTS.CommonCore/Interface/Components/IAssemblyListView.cs - Common/DTS.CommonCore/Interface/Components/ITileView.cs - Common/DTS.CommonCore/Interface/Components/IGroupView.cs - Common/DTS.CommonCore/Interface/Components/ITileListView.cs - Common/DTS.CommonCore/Interface/Components/IGroupListView.cs - Common/DTS.CommonCore/Interface/Components/IAssemblyViewModel.cs - Common/DTS.CommonCore/Interface/Components/IAssemblyListViewModel.cs - Common/DTS.CommonCore/Interface/Components/ITileViewModel.cs - Common/DTS.CommonCore/Interface/Components/IGroupViewModel.cs - Common/DTS.CommonCore/Interface/Components/ITileListViewModel.cs - Common/DTS.CommonCore/Interface/Components/IGroupListViewModel.cs generated_at: "2026-04-17T16:34:19.310098+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "e1c9470d04b176fb" --- # Documentation: View/ViewModel Component Interfaces ## 1. Purpose This module defines a set of interfaces for a Model-View-ViewModel (MVVM) architecture used to display and manage grouped assembly information in a UI. It provides interfaces for both individual item views (`IAssemblyView`, `ITileView`, `IGroupView`) and collection views (`IAssemblyListView`, `ITileListView`, `IGroupListView`), along with their corresponding ViewModel contracts. The module appears to support multiple presentation modes (Assembly, Tile, Group) for displaying assembly data with associated images. --- ## 2. Public Interface ### View Interfaces | Interface | Namespace | Base | Description | |-----------|-----------|------|-------------| | `IAssemblyView` | `DTS.Common.Interface` | `IBaseView` | Marker interface for an assembly item view. No members defined. | | `IAssemblyListView` | `DTS.Common.Interface` | `IBaseView` | Marker interface for a collection view of assemblies. No members defined. | | `ITileView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a tile item view. No members defined. | | `IGroupView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a group item view. No members defined. | | `ITileListView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a collection view of tiles. No members defined. | | `IGroupListView` | `DataPro.Common.Interface` | `IBaseView` | Marker interface for a collection view of groups. No members defined. | ### ViewModel Interfaces #### `IAssemblyViewModel` (`DTS.Common.Interface`) ```csharp public interface IAssemblyViewModel : IBaseViewModel { IAssemblyView View { get; set; } string GroupName { get; set; } List AssemblyList { get; set; } } ``` Defines the contract for a ViewModel that manages a single assembly group display, including the associated view reference, group name, and list of assembly name/image pairs. #### `IAssemblyListViewModel` (`DTS.Common.Interface`) ```csharp public interface IAssemblyListViewModel : IBaseViewModel { IMainViewModel Parent { get; set; } IAssemblyListView View { get; set; } List GroupList { get; set; } } ``` Defines the contract for a ViewModel that manages a collection of assembly views, with a reference to a parent `IMainViewModel`. #### `ITileViewModel` (`DataPro.Common.Interface`) ```csharp public interface ITileViewModel : IBaseViewModel { ITileView View { get; set; } string Group