Forge
deeb25a2
1<Application xmlns="https://github.com/avaloniaui"
2 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3 x:Class="CascadeIDE.App"
4 xmlns:local="using:CascadeIDE"
5 xmlns:lang="using:CascadeIDE.Lang"
6 xmlns:views="using:CascadeIDE.Views"
7 RequestedThemeVariant="Default">
8 <!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
9
10 <Application.Resources>
11 <ResourceDictionary>
12 <lang:LocViewModel x:Key="Loc"/>
13 <!-- Тема: ide_get_ui_theme / ide_set_ui_theme -->
14 <SolidColorBrush x:Key="CascadeTheme.MainWindowBackground">#F5F5F5</SolidColorBrush>
15 <SolidColorBrush x:Key="CascadeTheme.MenuBackground">#F0F0F0</SolidColorBrush>
16 <SolidColorBrush x:Key="CascadeTheme.MenuForeground">#1A1A1A</SolidColorBrush>
17 <SolidColorBrush x:Key="CascadeTheme.ButtonBackground">#E0E0E0</SolidColorBrush>
18 <SolidColorBrush x:Key="CascadeTheme.ButtonForeground">#1A1A1A</SolidColorBrush>
19 <SolidColorBrush x:Key="CascadeTheme.ButtonBorderBrush">#BBB</SolidColorBrush>
20 <SolidColorBrush x:Key="CascadeTheme.ButtonHoverBackground">#D0D0D0</SolidColorBrush>
21 <SolidColorBrush x:Key="CascadeTheme.ButtonDisabledBackground">#EEE</SolidColorBrush>
22 <SolidColorBrush x:Key="CascadeTheme.ButtonDisabledForeground">#888</SolidColorBrush>
23 <SolidColorBrush x:Key="CascadeTheme.ToolbarBackground">#E8E8E8</SolidColorBrush>
24 <SolidColorBrush x:Key="CascadeTheme.ToolbarTextForeground">#333</SolidColorBrush>
25 <SolidColorBrush x:Key="CascadeTheme.ToolbarErrorForeground">#C00</SolidColorBrush>
26 <SolidColorBrush x:Key="CascadeTheme.EditorBackground">#FFF</SolidColorBrush>
27 <SolidColorBrush x:Key="CascadeTheme.EditorForeground">#1A1A1A</SolidColorBrush>
28 <SolidColorBrush x:Key="CascadeTheme.EditorSelectionBrush" Color="#55225679"/>
29 <SolidColorBrush x:Key="CascadeTheme.EditorSelectionForeground">#1A1A1A</SolidColorBrush>
30 <SolidColorBrush x:Key="CascadeTheme.EditorColumnBorderBrush">#CCC</SolidColorBrush>
31 <!-- Editor HUD: squiggles = те же sRGB, что MFD/Problems (EditorHudDiagnosticsChroma) -->
32 <SolidColorBrush x:Key="EditorHud.SeverityError">#B25C62</SolidColorBrush>
33 <SolidColorBrush x:Key="EditorHud.SeverityWarning">#A88A48</SolidColorBrush>
34 <SolidColorBrush x:Key="EditorHud.SeverityInfo">#608296</SolidColorBrush>
35 <!-- Рамки колонок (решение / редактор / чат), вертикальные сплиттеры, шов с нижней панелью -->
36 <SolidColorBrush x:Key="CascadeTheme.WorkspacePanelBorderBrush">#CCC</SolidColorBrush>
37 <SolidColorBrush x:Key="CascadeTheme.EditorColumnBackground">#FFF</SolidColorBrush>
38 <SolidColorBrush x:Key="CascadeTheme.CurrentFileForeground">#666</SolidColorBrush>
39 <SolidColorBrush x:Key="CascadeTheme.MarkdownPreviewPanelBackground">#FAFAFA</SolidColorBrush>
40 <SolidColorBrush x:Key="CascadeTheme.MarkdownPreviewPanelBorderBrush">#E0E0E0</SolidColorBrush>
41 <SolidColorBrush x:Key="CascadeTheme.SolutionExplorerBorderBrush">#CCC</SolidColorBrush>
42 <SolidColorBrush x:Key="CascadeTheme.SolutionExplorerHeaderForeground">#1A1A1A</SolidColorBrush>
43 <SolidColorBrush x:Key="CascadeTheme.PanelChromeTitleForeground">#1E2433</SolidColorBrush>
44 <SolidColorBrush x:Key="CascadeTheme.PanelTitleAccentBrush">#4B6BFB</SolidColorBrush>
45 <SolidColorBrush x:Key="CascadeTheme.PanelChromeHeaderBackground">#E4E9F2</SolidColorBrush>
46 <SolidColorBrush x:Key="CascadeTheme.PanelChromeHeaderSeparatorBrush">#B8C4D8</SolidColorBrush>
47 <SolidColorBrush x:Key="CascadeTheme.PanelChromeMenuGlyphForeground">#666</SolidColorBrush>
48 <SolidColorBrush x:Key="CascadeTheme.BuildOutputBackground">#F8F8F8</SolidColorBrush>
49 <SolidColorBrush x:Key="CascadeTheme.BuildOutputBorderBrush">#CCC</SolidColorBrush>
50 <SolidColorBrush x:Key="CascadeTheme.ChatPanelBackground">#FFF</SolidColorBrush>
51 <SolidColorBrush x:Key="CascadeTheme.ChatLabelForeground">#333</SolidColorBrush>
52 <SolidColorBrush x:Key="CascadeTheme.ChatMessageBubbleBackground">#F0F0F0</SolidColorBrush>
53 <SolidColorBrush x:Key="CascadeTheme.ChatMessageContentForeground">#1A1A1A</SolidColorBrush>
54 <SolidColorBrush x:Key="CascadeTheme.PanelBackgroundBrush">#F0F0F0</SolidColorBrush>
55 <SolidColorBrush x:Key="CascadeTheme.InsetSurfaceBackground">#FAFAFA</SolidColorBrush>
56 <SolidColorBrush x:Key="CascadeTheme.InsetSurfaceBorderBrush">#CCC</SolidColorBrush>
57 <SolidColorBrush x:Key="CascadeTheme.StatusChipBackground">#E3EAF5</SolidColorBrush>
58 <SolidColorBrush x:Key="CascadeTheme.StatusChipBorderBrush">#B8C4D8</SolidColorBrush>
59 <SolidColorBrush x:Key="CascadeTheme.StatusChipForeground">#1E3A5F</SolidColorBrush>
60 <SolidColorBrush x:Key="CascadeTheme.SendButtonBackground">#4CAF50</SolidColorBrush>
61 <SolidColorBrush x:Key="CascadeTheme.SendButtonForeground">White</SolidColorBrush>
62 <SolidColorBrush x:Key="CascadeTheme.TerminalBackground">#1E1E1E</SolidColorBrush>
63 <SolidColorBrush x:Key="CascadeTheme.TerminalForeground">#CCC</SolidColorBrush>
64 <SolidColorBrush x:Key="CascadeTheme.TerminalInputBackground">#2D2D2D</SolidColorBrush>
65 <x:String x:Key="AvaloniaTerminalFontFamily">Cascadia Mono, Consolas, monospace</x:String>
66 <x:Double x:Key="AvaloniaTerminalFontSize">12</x:Double>
67 <SolidColorBrush x:Key="CascadeTheme.McpBannerBackground">#E3F2FD</SolidColorBrush>
68 <SolidColorBrush x:Key="CascadeTheme.McpBannerForeground">#1565C0</SolidColorBrush>
69 <!-- Тултипы IDE: спокойный тёмный хром (не «жёлтый Win95») -->
70 <SolidColorBrush x:Key="CascadeTheme.ToolTipBackground">#2A303C</SolidColorBrush>
71 <SolidColorBrush x:Key="CascadeTheme.ToolTipForeground">#E6ECF4</SolidColorBrush>
72 <SolidColorBrush x:Key="CascadeTheme.ToolTipBorderBrush">#4A5568</SolidColorBrush>
73 <!-- Полоса HUD над редактором: без кислотно-жёлтого, в ритме панелей -->
74 <SolidColorBrush x:Key="CascadeTheme.HudBannerBackground">#180C1018</SolidColorBrush>
75 <SolidColorBrush x:Key="CascadeTheme.HudBannerBorderBrush">#354050</SolidColorBrush>
76 <SolidColorBrush x:Key="CascadeTheme.HudBannerForeground">#D8DEE8</SolidColorBrush>
77 <!-- Палитра команд (IDS overlay): плотный контрастный слой поверх Fluent; токены вместо «магических» # в разметке -->
78 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteDimmerOverlay">#AA000000</SolidColorBrush>
79 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteSurfaceBackground">#11161F</SolidColorBrush>
80 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteSurfaceBorderBrush">#3D4A5C</SolidColorBrush>
81 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteQueryBackground">#141B26</SolidColorBrush>
82 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteQueryForeground">#E8EDF4</SolidColorBrush>
83 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteQueryPlaceholderForeground">#6B7788</SolidColorBrush>
84 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteQueryCaretBrush">#A8C8FF</SolidColorBrush>
85 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteTitleForeground">#F0F4FA</SolidColorBrush>
86 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteMetaForeground">#9AA6B8</SolidColorBrush>
87 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteItemHoverBackground">#283445</SolidColorBrush>
88 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteItemSelectedBackground">#324560</SolidColorBrush>
89 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteHotkeyPillBackground">#1A2333</SolidColorBrush>
90 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteHotkeyPillBorderBrush">#4A5C72</SolidColorBrush>
91 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteHotkeyPillForeground">#C5D0E0</SolidColorBrush>
92 <SolidColorBrush x:Key="CascadeTheme.CommandPaletteUnavailableForeground">#E8B86A</SolidColorBrush>
93 <SolidColorBrush x:Key="CascadeTheme.PreviewWindowBackground">#F0F0F0</SolidColorBrush>
94 <SolidColorBrush x:Key="CascadeTheme.PowerNeonBorder">#00C8E8</SolidColorBrush>
95 <SolidColorBrush x:Key="CascadeTheme.PowerNeonAccent">#BF5FFF</SolidColorBrush>
96 <SolidColorBrush x:Key="CascadeTheme.PowerCockpitPanelBackground">#0C1428</SolidColorBrush>
97 <!-- Отдельный «док» уровней L1–L3 (темнее тела чата, по концепту cockpit) -->
98 <SolidColorBrush x:Key="CascadeTheme.PowerSafetyDockBackground">#060A14</SolidColorBrush>
99 <SolidColorBrush x:Key="CascadeTheme.PowerWorkspaceHealthStripBackground">#080E18</SolidColorBrush>
100 <SolidColorBrush x:Key="CascadeTheme.PowerSafetyObserve">#2A5A8A</SolidColorBrush>
101 <SolidColorBrush x:Key="CascadeTheme.PowerSafetyConfirm">#8A6A1A</SolidColorBrush>
102 <SolidColorBrush x:Key="CascadeTheme.PowerSafetyAutonomous">#5A2A8A</SolidColorBrush>
103 <SolidColorBrush x:Key="CascadeTheme.PowerEmergency">#E02040</SolidColorBrush>
104 <!-- Градиентные каймы «островов» Power cockpit (концепт: редактор cyan→blue, чат purple→pink) -->
105 <LinearGradientBrush x:Key="CascadeTheme.PowerEditorIslandFrameBrush" StartPoint="0%,0%" EndPoint="100%,100%">
106 <GradientStop Offset="0" Color="#00E5FF"/>
107 <GradientStop Offset="0.5" Color="#3A78D4"/>
108 <GradientStop Offset="1" Color="#6B9DFF"/>
109 </LinearGradientBrush>
110 <LinearGradientBrush x:Key="CascadeTheme.PowerChatIslandFrameBrush" StartPoint="0%,0%" EndPoint="100%,100%">
111 <GradientStop Offset="0" Color="#D080FF"/>
112 <GradientStop Offset="0.42" Color="#FF6B9D"/>
113 <GradientStop Offset="1" Color="#00B8D8"/>
114 </LinearGradientBrush>
115 <LinearGradientBrush x:Key="CascadeTheme.PowerSolutionIslandFrameBrush" StartPoint="0%,0%" EndPoint="100%,0%">
116 <GradientStop Offset="0" Color="#284A5C"/>
117 <GradientStop Offset="1" Color="#142A3A"/>
118 </LinearGradientBrush>
119 <!-- Дерево решения в Power cockpit (тёмная панель, строки, акцент выбора) -->
120 <SolidColorBrush x:Key="CascadeTheme.PowerSolutionTreePanelBackground">#0A1018</SolidColorBrush>
121 <SolidColorBrush x:Key="CascadeTheme.PowerSolutionTreeForeground">#D6E4F0</SolidColorBrush>
122 <SolidColorBrush x:Key="CascadeTheme.PowerSolutionTreeItemSelectedBackground">#163248</SolidColorBrush>
123 <SolidColorBrush x:Key="CascadeTheme.PowerSolutionTreeItemPointerOverBackground">#122030</SolidColorBrush>
124 <SolidColorBrush x:Key="CascadeTheme.PowerSolutionPanelBorderSubtle">#2A4A60</SolidColorBrush>
125 <SolidColorBrush x:Key="CascadeTheme.PowerSolutionTaskQueueBubbleBackground">#152A38</SolidColorBrush>
126 <views:UiModeFamilyEqualsConverter x:Key="UiModeFamilyEq"/>
127 <views:UiModeFamilyNotEqualsConverter x:Key="UiModeFamilyNe"/>
128 </ResourceDictionary>
129 </Application.Resources>
130
131 <Application.DataTemplates>
132 <local:ViewLocator/>
133 </Application.DataTemplates>
134
135 <Application.Styles>
136 <FluentTheme />
137 <!-- v12 Fluent: без непрозрачного PART_WindowBorder клиент окна на Windows может не заливаться (сквозь рамку виден рабочий стол). -->
138 <Style Selector="Window">
139 <Setter Property="Background" Value="{DynamicResource CascadeTheme.MainWindowBackground}"/>
140 </Style>
141 <Style Selector="Window /template/ Border#PART_WindowBorder">
142 <Setter Property="Background" Value="{DynamicResource CascadeTheme.MainWindowBackground}"/>
143 </Style>
144 <Style Selector="Window /template/ ContentPresenter#PART_ContentPresenter">
145 <Setter Property="Background" Value="{DynamicResource CascadeTheme.MainWindowBackground}"/>
146 </Style>
147 <!-- SukiUI: пакет 6.0.3 не совместим с Avalonia 12 (MissingMethodException в SukiTheme/TextBox.axaml). Вернуть после релиза Suki под v12. -->
148 <StyleInclude Source="avares://Dock.Avalonia.Themes.Fluent/DockFluentTheme.axaml"/>
149 <StyleInclude Source="avares://AvaloniaTerminal/Styles/Colors.axaml" />
150 <!-- Заголовки панелей: полоса + разделитель + акцент (концепт Power cockpit) -->
151 <Style Selector="Border.panelChromeHeaderStrip">
152 <Setter Property="Background" Value="{DynamicResource CascadeTheme.PanelChromeHeaderBackground}"/>
153 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.PanelChromeHeaderSeparatorBrush}"/>
154 <Setter Property="BorderThickness" Value="0,0,0,1"/>
155 <Setter Property="Padding" Value="12,8,10,8"/>
156 <Setter Property="CornerRadius" Value="4"/>
157 <Setter Property="Margin" Value="0,0,0,6"/>
158 </Style>
159 <Style Selector="Border.panelTitleAccent">
160 <Setter Property="Width" Value="4"/>
161 <Setter Property="MinHeight" Value="22"/>
162 <Setter Property="MaxHeight" Value="26"/>
163 <Setter Property="CornerRadius" Value="2"/>
164 <Setter Property="Margin" Value="0,0,12,0"/>
165 <Setter Property="VerticalAlignment" Value="Center"/>
166 <Setter Property="Background" Value="{DynamicResource CascadeTheme.PanelTitleAccentBrush}"/>
167 </Style>
168 <Style Selector="TextBlock.panelChromeTitle">
169 <Setter Property="FontSize" Value="11"/>
170 <Setter Property="FontWeight" Value="SemiBold"/>
171 <Setter Property="LetterSpacing" Value="0.85"/>
172 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.PanelChromeTitleForeground}"/>
173 </Style>
174 <Style Selector="TextBlock.panelChromeTitleCaps">
175 <Setter Property="LetterSpacing" Value="1.35"/>
176 </Style>
177 <Style Selector="Button.panelChromeOverflowBtn">
178 <Setter Property="Background" Value="Transparent"/>
179 <Setter Property="BorderThickness" Value="0"/>
180 <Setter Property="Padding" Value="4,0,2,0"/>
181 <Setter Property="MinWidth" Value="32"/>
182 <Setter Property="MinHeight" Value="28"/>
183 <Setter Property="FontSize" Value="18"/>
184 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.PanelChromeMenuGlyphForeground}"/>
185 <Setter Property="VerticalContentAlignment" Value="Center"/>
186 <Setter Property="HorizontalContentAlignment" Value="Center"/>
187 <Setter Property="Opacity" Value="0.72"/>
188 <Setter Property="Cursor" Value="Hand"/>
189 </Style>
190 <Style Selector="Button.panelChromeOverflowBtn:pointerover">
191 <Setter Property="Opacity" Value="1"/>
192 <Setter Property="Background" Value="#14000000"/>
193 </Style>
194 <Style Selector="Button.panelChromeEmergencyBtn">
195 <Setter Property="Background" Value="Transparent"/>
196 <Setter Property="BorderThickness" Value="0"/>
197 <Setter Property="Padding" Value="12,6"/>
198 <Setter Property="FontSize" Value="10"/>
199 <Setter Property="FontWeight" Value="Bold"/>
200 <Setter Property="Foreground" Value="#FFFFFF"/>
201 <Setter Property="Cursor" Value="Hand"/>
202 </Style>
203 <Style Selector="Button.panelChromeEmergencyBtn:pointerover">
204 <Setter Property="Background" Value="#28FFFFFF"/>
205 </Style>
206 <Style Selector="TextBlock.panelDocumentPathTitle">
207 <Setter Property="FontSize" Value="11"/>
208 <Setter Property="FontWeight" Value="SemiBold"/>
209 <Setter Property="LetterSpacing" Value="0.2"/>
210 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.PanelChromeTitleForeground}"/>
211 </Style>
212 <Style Selector="views|PanelChromeHeader.documentTitle TextBlock.headerTitlePart">
213 <Setter Property="FontWeight" Value="SemiBold"/>
214 <Setter Property="LetterSpacing" Value="0.2"/>
215 </Style>
216 <!-- Терминал (тёмный фон нижней панели): заголовок и меню-глиф как у консоли -->
217 <Style Selector="views|PanelChromeHeader.terminal TextBlock.headerTitlePart">
218 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.TerminalForeground}"/>
219 </Style>
220 <Style Selector="views|PanelChromeHeader.terminal Button.panelChromeOverflowBtn">
221 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.TerminalForeground}"/>
222 <Setter Property="Opacity" Value="0.55"/>
223 </Style>
224 <Style Selector="views|PanelChromeHeader.terminal Button.panelChromeOverflowBtn:pointerover">
225 <Setter Property="Background" Value="#22FFFFFF"/>
226 </Style>
227 <!-- Power: заголовки колонки дерева / очереди — тёмная полоса, светлый текст, бирюзовый акцент -->
228 <Style Selector="views|PanelChromeHeader.powerSolutionExplorer Border.panelChromeHeaderStrip">
229 <Setter Property="Background" Value="{DynamicResource CascadeTheme.PowerWorkspaceHealthStripBackground}"/>
230 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.PowerSolutionPanelBorderSubtle}"/>
231 </Style>
232 <Style Selector="views|PanelChromeHeader.powerSolutionExplorer TextBlock.headerTitlePart">
233 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.PowerSolutionTreeForeground}"/>
234 </Style>
235 <Style Selector="views|PanelChromeHeader.powerSolutionExplorer TextBlock.panelChromeTitle">
236 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.PowerSolutionTreeForeground}"/>
237 </Style>
238 <Style Selector="views|PanelChromeHeader.powerSolutionExplorer Button.panelChromeOverflowBtn">
239 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.PowerSolutionTreeForeground}"/>
240 <Setter Property="Opacity" Value="0.55"/>
241 </Style>
242 <Style Selector="views|PanelChromeHeader.powerSolutionExplorer Button.panelChromeOverflowBtn:pointerover">
243 <Setter Property="Background" Value="#22FFFFFF"/>
244 </Style>
245 <Style Selector="views|PanelChromeHeader.powerSolutionExplorer Border.panelTitleAccent">
246 <Setter Property="Background" Value="{DynamicResource CascadeTheme.PowerNeonBorder}"/>
247 </Style>
248 <!-- Внутри карточек чата: компактнее, цвет как у подписей карточки -->
249 <Style Selector="views|PanelChromeHeader.compact Border.panelChromeHeaderStrip">
250 <Setter Property="Padding" Value="8,6,6,6"/>
251 <Setter Property="Margin" Value="0,0,0,6"/>
252 <Setter Property="CornerRadius" Value="4"/>
253 </Style>
254 <Style Selector="views|PanelChromeHeader.compact TextBlock.headerTitlePart">
255 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ChatLabelForeground}"/>
256 </Style>
257 <Style Selector="views|PanelChromeHeader.compact Button.panelChromeOverflowBtn">
258 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ChatLabelForeground}"/>
259 <Setter Property="Opacity" Value="0.5"/>
260 </Style>
261 <Style Selector="views|PanelChromeHeader.compact Button.panelChromeOverflowBtn:pointerover">
262 <Setter Property="Background" Value="#18000000"/>
263 </Style>
264 <!-- IDE chrome (UiKit): секции, inset, status chip — design/ide-chrome-tokens-v1.md -->
265 <Style Selector="Border.cascadeSection">
266 <Setter Property="CornerRadius" Value="4"/>
267 <Setter Property="Padding" Value="10"/>
268 <Setter Property="BorderThickness" Value="1"/>
269 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.EditorColumnBorderBrush}"/>
270 <Setter Property="Background" Value="{DynamicResource CascadeTheme.PanelBackgroundBrush}"/>
271 </Style>
272 <Style Selector="Border.cascadeSection TextBox">
273 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ChatMessageContentForeground}"/>
274 <Setter Property="Background" Value="{DynamicResource CascadeTheme.ChatPanelBackground}"/>
275 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.EditorColumnBorderBrush}"/>
276 <Setter Property="CaretBrush" Value="{DynamicResource CascadeTheme.ChatMessageContentForeground}"/>
277 <Setter Property="SelectionBrush" Value="{DynamicResource CascadeTheme.EditorSelectionBrush}"/>
278 <Setter Property="SelectionForegroundBrush" Value="{DynamicResource CascadeTheme.EditorSelectionForeground}"/>
279 </Style>
280 <Style Selector="Border.cascadeSection TextBox /template/ TextBlock#PART_Watermark">
281 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ChatLabelForeground}"/>
282 </Style>
283 <Style Selector="Border.cascadeSection CheckBox">
284 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ChatMessageContentForeground}"/>
285 </Style>
286 <Style Selector="Border.cascadeSection Expander">
287 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ChatMessageContentForeground}"/>
288 </Style>
289 <Style Selector="Border.ideHealthStrip">
290 <Setter Property="Padding" Value="6,4"/>
291 <Setter Property="BorderThickness" Value="0,0,0,1"/>
292 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.WorkspacePanelBorderBrush}"/>
293 <Setter Property="Background" Value="Transparent"/>
294 </Style>
295 <Style Selector="TextBlock.ideHealthSegment">
296 <Setter Property="FontSize" Value="11"/>
297 <Setter Property="Opacity" Value="0.88"/>
298 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ToolbarTextForeground}"/>
299 <Setter Property="VerticalAlignment" Value="Center"/>
300 </Style>
301 <Style Selector="UserControl:not(.power) TreeView TreeViewItem">
302 <Setter Property="Padding" Value="2,1"/>
303 <Setter Property="MinHeight" Value="22"/>
304 </Style>
305 <Style Selector="UserControl:not(.power) TreeView TreeViewItem:pointerover">
306 <Setter Property="Background" Value="#2A2D2E"/>
307 </Style>
308 <Style Selector="UserControl:not(.power) TreeView TreeViewItem:selected">
309 <Setter Property="Background" Value="#2A3A4A"/>
310 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.PanelTitleAccentBrush}"/>
311 <Setter Property="BorderThickness" Value="2,0,0,0"/>
312 </Style>
313 <Style Selector="Border.cascadeInset">
314 <Setter Property="CornerRadius" Value="4"/>
315 <Setter Property="Padding" Value="8"/>
316 <Setter Property="BorderThickness" Value="1"/>
317 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.InsetSurfaceBorderBrush}"/>
318 <Setter Property="Background" Value="{DynamicResource CascadeTheme.InsetSurfaceBackground}"/>
319 </Style>
320 <Style Selector="Border.cascadeAutocomplete">
321 <Setter Property="CornerRadius" Value="6"/>
322 <Setter Property="Padding" Value="4"/>
323 <Setter Property="BorderThickness" Value="1"/>
324 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.EditorColumnBorderBrush}"/>
325 <Setter Property="Background" Value="{DynamicResource CascadeTheme.ChatPanelBackground}"/>
326 </Style>
327 <Style Selector="Border.cascadeStatusChip">
328 <Setter Property="CornerRadius" Value="4"/>
329 <Setter Property="Padding" Value="8,3"/>
330 <Setter Property="BorderThickness" Value="1"/>
331 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.StatusChipBorderBrush}"/>
332 <Setter Property="Background" Value="{DynamicResource CascadeTheme.StatusChipBackground}"/>
333 </Style>
334 <!-- Глобально: тултипы ближе к VS/Cursor, чем к дефолтному Fluent-желту -->
335 <Style Selector="ToolTip">
336 <Setter Property="Padding" Value="10,8"/>
337 <Setter Property="MaxWidth" Value="480"/>
338 <Setter Property="CornerRadius" Value="8"/>
339 <Setter Property="FontSize" Value="12"/>
340 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.ToolTipForeground}"/>
341 <Setter Property="Background" Value="{DynamicResource CascadeTheme.ToolTipBackground}"/>
342 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.ToolTipBorderBrush}"/>
343 <Setter Property="BorderThickness" Value="1"/>
344 </Style>
345 <Style Selector="ToolTip TextBlock">
346 <Setter Property="TextWrapping" Value="Wrap"/>
347 </Style>
348 <!-- Контекстные меню и всплывающие подменю: тот же хром, что у меню окна (Fluent + токены) -->
349 <Style Selector="ContextMenu">
350 <Setter Property="Background" Value="{DynamicResource CascadeTheme.MenuBackground}"/>
351 <Setter Property="Foreground" Value="{DynamicResource CascadeTheme.MenuForeground}"/>
352 <Setter Property="CornerRadius" Value="8"/>
353 <Setter Property="Padding" Value="4"/>
354 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.WorkspacePanelBorderBrush}"/>
355 <Setter Property="BorderThickness" Value="1"/>
356 </Style>
357 <Style Selector="MenuFlyoutPresenter">
358 <Setter Property="Background" Value="{DynamicResource CascadeTheme.MenuBackground}"/>
359 <Setter Property="CornerRadius" Value="8"/>
360 <Setter Property="Padding" Value="4"/>
361 <Setter Property="BorderBrush" Value="{DynamicResource CascadeTheme.WorkspacePanelBorderBrush}"/>
362 <Setter Property="BorderThickness" Value="1"/>
363 </Style>
364 </Application.Styles>
365</Application>
View only · write via MCP/CIDE