Dreamine.UI.Abstractions 1.0.1
Dreamine.UI.Abstractions 공용 계약과 추상화를 제공합니다.
로딩중...
검색중...
일치하는것 없음
README_KO.md 파일 참조

Dreamine.UI.Abstractions - Dreamine UI 컴포넌트의 플랫폼 독립적 계약 인터페이스 및 열거형 정의 더 자세히 ...

상세한 설명

Dreamine.UI.Abstractions - Dreamine UI 컴포넌트의 플랫폼 독립적 계약 인터페이스 및 열거형 정의

작성자
Dreamine Core Team
날짜
2026-06-12
버전
1.0.0

Dreamine.UI.Abstractions

**Dreamine.UI.Abstractions**는 모든 Dreamine UI 패키지가 공유하는 플랫폼 독립적 계약 인터페이스와 열거형을 정의합니다.

WPF 전용 코드를 포함하지 않습니다.
구체적인 구현은 Dreamine.UI.Wpf.Equipment 같은 플랫폼별 패키지에 있습니다.

➡️ English Documentation


이 라이브러리가 해결하는 문제

UI 컴포넌트 계약은 렌더링 플랫폼과 독립적으로 정의되어야 합니다.

  • WPF 어셈블리 없이도 추상화를 참조할 수 있음
  • 비즈니스 레이어가 구체적인 UI 컨트롤 대신 인터페이스에 의존 가능
  • 플랫폼별 패키지가 순환 의존 없이 계약을 구현

주요 기능

  • 플랫폼 독립적 팝업 서비스 인터페이스 (IPopupService)
  • 가상 키보드 레이아웃 및 입력 모드 열거형
  • 키보드 지역화를 위한 언어 코드 열거형
  • 가상 키보드 Enter 키 프로바이더용 액션 결과 열거형
  • WPF 등 UI 프레임워크 의존 없음

요구 사항

  • 대상 프레임워크: net8.0-windows
  • 외부 패키지 의존성 없음

설치

NuGet

dotnet add package Dreamine.UI.Abstractions

PackageReference

<PackageReference Include="Dreamine.UI.Abstractions" />

프로젝트 구조

Dreamine.UI.Abstractions
├── Popup/
│ ├── BlinkPopupOptions.cs — 깜빡임 팝업 창 옵션
│ └── IPopupService.cs — 팝업 서비스 계약
└── VirtualKeyboard/
├── ActionResult.cs — Enter 키 프로바이더 결과
├── IEnterActionProvider.cs — Enter 키 액션 프로바이더 계약
├── KeyboardInputMode.cs — 텍스트 / 숫자 / 비밀번호 입력 모드
├── LanguageCode.cs — en_US / ko_KR / zh_CN / vi_VN
└── VkLayout.cs — Text / Password / Numeric / Decimal

아키텍처 역할

Dreamine.UI.Abstractions
├─ Dreamine.UI.Wpf.Equipment (팝업 + 키보드 구현)
├─ Dreamine.UI.Wpf.Controls (네비게이션 + 뷰 관리)
└─ 애플리케이션 코드 (인터페이스만 의존)

이 패키지는 UI 스택의 가장 하위 레이어로, 상위 의존성이 없습니다.


주요 인터페이스

IPopupService

깜빡임 팝업 창의 표시, 닫기, 상태 조회를 위한 플랫폼 중립 계약입니다.

IPopupService popupService = DMContainer.Resolve<IPopupService>();
await popupService.ShowBlinkAsync(owner, new BlinkPopupOptions
{
Message = "작업이 완료되었습니다.",
OkText = "확인"
});

BlinkPopupOptions

깜빡임 팝업 창의 외형과 동작을 구성합니다.

var options = new BlinkPopupOptions
{
Title = "경고",
Message = "설비 상태를 확인하세요",
UseBlink = true,
BlinkIntervalMs = 400,
Color1 = Colors.Red,
Color2 = Colors.DarkRed,
IsModal = true
};

VkLayout

사용자에게 표시할 가상 키보드 레이아웃을 선택합니다.

설명
Text 영숫자 풀 키보드
Password 마스킹 텍스트 키보드
Numeric 숫자 패드
Decimal 소수 숫자 입력

LanguageCode

가상 키보드의 언어를 선택합니다.

언어
en_US 영어
ko_KR 한국어
zh_CN 중국어
vi_VN 베트남어

설계 노트

이 패키지는 의도적으로 렌더링 프레임워크 의존성 없이 유지됩니다.

  • System.Windows 타입 없음
  • XAML 리소스 참조 없음
  • 계약만 포함 — 모든 동작은 구현 패키지에 위치

라이선스

MIT License

README_KO.md 파일에서 정의되었습니다.