diff --git a/src/SheetMe.Designer/Diagnostics/DialogShots.cs b/src/SheetMe.Designer/Diagnostics/DialogShots.cs index 6e9d3d0..5a2a62e 100644 --- a/src/SheetMe.Designer/Diagnostics/DialogShots.cs +++ b/src/SheetMe.Designer/Diagnostics/DialogShots.cs @@ -60,6 +60,9 @@ public static class DialogShots } } + lines.Add(string.Empty); + lines.AddRange(StyleSelfCheck()); + File.WriteAllText(Path.Combine(outputDirectory, "_report.txt"), string.Join(Environment.NewLine, lines)); Console.WriteLine(string.Join(Environment.NewLine, lines)); @@ -72,6 +75,35 @@ public static class DialogShots } } + /// + /// 암시 스타일 자가 점검 — 스크린샷에 안 잡히는 표면(툴팁·포커스링·툴바 자식·스크롤 코너)이 + /// 실제로 테마 스타일을 받는지 값으로 확인한다. + /// 이들은 팝업이거나 프레임워크 템플릿 소속이라 창을 찍어도 보이지 않는데, 스타일이 없으면 + /// WPF 기본(Aero2) 밝은 크롬으로 떨어져 다크에서 글자가 사라진다. + /// + private static List StyleSelfCheck() + { + var lines = new List { "[암시 스타일 자가 점검 — 라이트 테마 기준]" }; + + // 떼어 놓은 인스턴스는 트리에 붙기 전이라 Style 이 아직 null 이다 — 사전에 있는지로 판정한다 + foreach (var (label, key) in new (string, object)[] + { + ("ToolTip", typeof(System.Windows.Controls.ToolTip)), + ("ListView", typeof(System.Windows.Controls.ListView)), + ("ToolBar", typeof(System.Windows.Controls.ToolBar)), + ("ToolBar.Button", System.Windows.Controls.ToolBar.ButtonStyleKey), + ("ToolBar.Separator", System.Windows.Controls.ToolBar.SeparatorStyleKey), + ("ToolBar.TextBox", System.Windows.Controls.ToolBar.TextBoxStyleKey), + ("FocusVisual", SystemParameters.FocusVisualStyleKey), + ("ScrollViewer코너", SystemColors.ControlBrushKey), + }) + { + var found = Application.Current.TryFindResource(key); + lines.Add($" {label,-18} {(found is null ? "★ 미정의(Aero2 폴백)" : "정의됨")}"); + } + return lines; + } + /// 창 생성기 목록 — 실제 사용 시와 같은 인자로 만든다(빈 껍데기를 찍으면 의미가 없다) private static List<(string Name, Func Factory)> Factories() { diff --git a/src/SheetMe.Designer/Themes/DesignerTheme.xaml b/src/SheetMe.Designer/Themes/DesignerTheme.xaml index 353965b..e251d2f 100644 --- a/src/SheetMe.Designer/Themes/DesignerTheme.xaml +++ b/src/SheetMe.Designer/Themes/DesignerTheme.xaml @@ -318,6 +318,63 @@ + + + + + + + + + + + + +