미리보기가 편집을 따라오고, 창이 하나만 뜬다

미리보기 레거시 호환 계획의 P0-2. 환자 값이 들어가기 <b>전에</b> 반드시 고쳐야 하는 항목이다.

<b>① 창이 여러 장 쌓였다.</b> 모덜리스인데 누를 때마다 새로 만들어서,
각각이 서로 다른 시점의 서식을 들고 겹쳐 있었고 어느 것이 지금 것인지 화면으로 구분할 수 없었다.
환자 데이터가 들어가면 그건 개인정보 사고가 된다 — 환자를 B 로 바꿔도 옛 창이 A 를 계속 띄운다.
이제 하나만 뜨고, 이미 있으면 지금 문서로 갈아타 앞으로 온다.

<b>② 생성자에서 한 번만 그렸다.</b> 컨트롤을 추가·삭제하거나 숨김·인쇄출력을 토글해도
창은 옛 그림을 계속 보여 줬다 — 저장 전에 결과를 확인하려고 여는 창이
<b>구조적으로 거짓말</b>을 하고 있었다.
페이지·컨트롤 추가/삭제는 즉시(CollectionChanged), 그 밖의 변경은 창을 누르는 순간(Activated) 다시 그린다.
즉시 갱신이 안 되는 변경이 남아 있으므로 새로 고침 버튼도 함께 뒀다 — 자동에 기대게 하지 않는다.

제목에 서식명을 넣는다. 창이 하나뿐이라 무엇을 보고 있는지 제목이 말해야 한다.

<b>같은 함정에 세 번째로 걸렸다.</b> 단정이 52 → 41 로 나왔다 — 재빌드는 됐는데
새 자식이 아직 실체화되지 않아 요소 수가 오히려 줄어 보인 것이다.
UpdateLayout 을 돌리고 세니 통과했다. WPF 시각 트리를 세는 검사는 <b>반드시</b> 레이아웃을 먼저 돌려야 한다.

진단(--dialog-shots)은 생성자를 직접 부른다 — 단일 인스턴스 등록을 건너뛰어야
샷마다 새 창을 찍을 수 있다. 앱 코드는 ShowFor 만 쓴다는 것을 주석에 못 박았다.

게이트: 테스트 298/298, --edit-smoke 0실패(신규 1), --dialog-shots 글자 2,651개 FAIL 0 대조군 4/4,
--modal-check 0실패, --cleartype 11/11, --maxrect 0실패, --scale-budget 5/5, 빌드 경고 0,
--db-smoke 1271건 diff 0, --db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 동일.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Msystech
2026-08-18 09:42:19 +09:00
co-authored by Claude Opus 5
parent dbb3deeda3
commit 9e3cd088e2
4 changed files with 133 additions and 8 deletions
@@ -8,6 +8,8 @@
<ToolBarTray DockPanel.Dock="Top">
<ToolBar>
<Button Content="인쇄..." Padding="10,3" Click="OnPrint"/>
<Button Content="새로 고침" Padding="10,3" Click="OnRefresh"
ToolTip="구조 변경은 자동으로 따라오고, 창을 누르면 다시 그립니다"/>
<Separator/>
<Button Content="" Padding="8,3" Click="OnZoomOut"/>
<TextBlock x:Name="ZoomText" Text="100%" VerticalAlignment="Center" Margin="6,0" MinWidth="42" TextAlignment="Center"/>