1
0
Fork 0

refactor(P5b-7): 잔여 이벤트 핸들러 전부 커맨드/behavior로 — XAML 이벤트 핸들러 0개

Microsoft.Xaml.Behaviors.Wpf 도입. MainWindow.xaml에 직접 이벤트 핸들러(Click/SelectionChanged/Drop/
MouseUp 등) 0개 — 전부 선언적 바인딩·커맨드·InvokeCommandAction으로 전환.

- 드래그앤드롭(DragOver/DragLeave/Drop) → i:EventTrigger + InvokeCommandAction(PassEventArgsToCommand),
  HandleDragOver/HandleFilesDropped(DragEventArgs) 추출.
- 동적 포맷 콤보 SelectionChanged → OutputFormatChangedCommand(OnOutputFormatSelected).
- 큐·이력 행 PreviewMouseLeftButtonUp → QueueRow/PastRowCommand(MouseButtonEventArgs, IsInsideButton 가드
  보존 + e.OriginalSource.DataContext로 항목 해소).
- ProcessQueueButton Click → ProcessQueueCommand.
- 검증: 빌드 0/0, 83 테스트 그린, publish 후 메인 창 크래시 없이 로드(behaviors self-contained 정상).
  드래그앤드롭·행 미리보기·포맷 변경 실동작은 GUI 스모크 권장(비치명적 실패 모드).
This commit is contained in:
Yun Chan 2026-06-02 10:17:21 +09:00
parent ccba168f9a
commit 944187c314
4 changed files with 58 additions and 25 deletions

View file

@ -32,6 +32,7 @@
<!-- App -->
<PackageVersion Include="WPF-UI" Version="4.3.0" />
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageVersion Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.135" />
<!-- Tests -->
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />