89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- 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
|
||
|
|
generated_at: "2026-04-17T15:28:55.402889+00:00"
|
||
|
|
model: "zai-org/GLM-5-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "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`
|
||
|
|
```csharp
|
||
|
|
public interface ITabView : IBaseView { }
|
||
|
|
```
|
||
|
|
Marker interface for tab views. Inherits from `IBaseView`.
|
||
|
|
|
||
|
|
#### `IMainView`
|
||
|
|
```csharp
|
||
|
|
public interface IMainView : IBaseView { }
|
||
|
|
```
|
||
|
|
Marker interface for main views. Inherits from `IBaseView`.
|
||
|
|
|
||
|
|
#### `IMenuView`
|
||
|
|
```csharp
|
||
|
|
public interface IMenuView : IBaseView { }
|
||
|
|
```
|
||
|
|
Marker interface for menu views. Inherits from `IBaseView`.
|
||
|
|
|
||
|
|
#### `INavigationView`
|
||
|
|
```csharp
|
||
|
|
public interface INavigationView : IBaseView { }
|
||
|
|
```
|
||
|
|
Marker interface for navigation views. Inherits from `IBaseView`.
|
||
|
|
|
||
|
|
#### `IViewerShellView`
|
||
|
|
```csharp
|
||
|
|
public interface IViewerShellView : IBaseView { }
|
||
|
|
```
|
||
|
|
Marker interface for viewer shell views. Inherits from `IBaseView`.
|
||
|
|
|
||
|
|
#### `IShellView`
|
||
|
|
```csharp
|
||
|
|
public interface IShellView : IBaseWindow { }
|
||
|
|
```
|
||
|
|
Marker interface for shell views. Inherits from `IBaseWindow` (not `IBaseView`).
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
### ViewModel Interfaces
|
||
|
|
|
||
|
|
#### `ITabViewModel`
|
||
|
|
```csharp
|
||
|
|
public interface ITabViewModel : IBaseViewModel
|
||
|
|
{
|
||
|
|
ITabView View { get; }
|
||
|
|
}
|
||
|
|
```
|
||
|
|
ViewModel contract for tab components. Provides access to the associated `ITabView`.
|
||
|
|
|
||
|
|
#### `IMenuViewModel`
|
||
|
|
```csharp
|
||
|
|
public interface IMenuViewModel : IBaseViewModel
|
||
|
|
{
|
||
|
|
IMenuView View {
|