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

2.8 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Interface/ITabView.cs
Common/DTS.CommonCore/Interface/IMainView.cs
Common/DTS.CommonCore/Interface/IMenuView.cs
Common/DTS.CommonCore/Interface/IShellView.cs
Common/DTS.CommonCore/Interface/INavigationView.cs
Common/DTS.CommonCore/Interface/IViewerShellView.cs
Common/DTS.CommonCore/Interface/ITabViewModel.cs
Common/DTS.CommonCore/Interface/IMenuViewModel.cs
Common/DTS.CommonCore/Interface/INavigationViewModel.cs
Common/DTS.CommonCore/Interface/IPluginComponent.cs
Common/DTS.CommonCore/Interface/IShellViewModel.cs
Common/DTS.CommonCore/Interface/IViewerShellViewModel.cs
Common/DTS.CommonCore/Interface/IMainViewModel.cs
Common/DTS.CommonCore/Interface/IAssemblyInfo.cs
Common/DTS.CommonCore/Interface/IDataPROPage.cs
2026-04-17T15:28:55.402889+00:00 zai-org/GLM-5-FP8 1 a72604fcb2f400f1

Documentation: DTS.Common.Interface

1. Purpose

This module defines the core view and view-model abstraction layer for a WPF-based application framework. It establishes contracts for UI components including shell views, navigation views, tab views, menu views, and main views, following a Model-View-ViewModel (MVVM) pattern. The module also provides plugin infrastructure via IPluginComponent, assembly metadata attributes for image and name registration, and a comprehensive IDataPROPage interface for implementing data-driven UI pages with navigation, validation, and lifecycle management capabilities.


2. Public Interface

View Interfaces

ITabView

public interface ITabView : IBaseView { }

Marker interface for tab views. Inherits from IBaseView.

IMainView

public interface IMainView : IBaseView { }

Marker interface for main views. Inherits from IBaseView.

IMenuView

public interface IMenuView : IBaseView { }

Marker interface for menu views. Inherits from IBaseView.

INavigationView

public interface INavigationView : IBaseView { }

Marker interface for navigation views. Inherits from IBaseView.

IViewerShellView

public interface IViewerShellView : IBaseView { }

Marker interface for viewer shell views. Inherits from IBaseView.

IShellView

public interface IShellView : IBaseWindow { }

Marker interface for shell views. Inherits from IBaseWindow (not IBaseView).


ViewModel Interfaces

ITabViewModel

public interface ITabViewModel : IBaseViewModel
{
    ITabView View { get; }
}

ViewModel contract for tab components. Provides access to the associated ITabView.

IMenuViewModel

public interface IMenuViewModel : IBaseViewModel
{
    IMenuView View {