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

2.7 KiB

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

DTS.Common.Interface Documentation

1. Purpose

This module defines the core interface contracts for a WPF-based application framework following the Model-View-ViewModel (MVVM) pattern. It establishes abstractions for views (ITabView, IMainView, IShellView, etc.), view models (ITabViewModel, IShellViewModel, IMainViewModel, etc.), plugin components (IPluginComponent), assembly metadata attributes (ImageAttribute, TextAttribute), and specialized UI pages (IDataPROPage). These interfaces enable loose coupling between UI components and their controllers, supporting a modular, plugin-based architecture.


2. Public Interface

View Interfaces

ITabView

public interface ITabView : IBaseView { }

Marker interface for tab-based views. Inherits from IBaseView.

IMainView

public interface IMainView : IBaseView { }

Marker interface for main application views. Inherits from IBaseView.

IMenuView

public interface IMenuView : IBaseView { }

Marker interface for menu views. Inherits from IBaseView.

IShellView

public interface IShellView : IBaseWindow { }

Marker interface for shell window views. Inherits from IBaseWindow (not 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.


ViewModel Interfaces

ITabViewModel

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

Defines a view model for tab views. Provides read-only access to the associated ITabView.

IMenuViewModel

public interface IMenuViewModel : IBaseViewModel
{
    IMenuView View { get