Skip to content

Commit 912299f

Browse files
committed
feat: Add lightweight styling of navigationview
1 parent cd841d0 commit 912299f

File tree

2 files changed

+339
-12
lines changed

2 files changed

+339
-12
lines changed

src/library/Uno.Themes.WinUI.Markup/Theme.Styles.cs

-12
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,6 @@ public static class ListView
9191
public static ResourceValue<Style> Default => new("ListViewStyle");
9292
}
9393

94-
public static class NavigationView
95-
{
96-
[ResourceKeyDefinition(typeof(Style), "NavigationViewStyle", TargetType = typeof(NavigationView))]
97-
public static ResourceValue<Style> Default => new("NavigationViewStyle");
98-
}
99-
100-
public static class NavigationViewItem
101-
{
102-
[ResourceKeyDefinition(typeof(Style), "NavigationViewItemStyle", TargetType = typeof(NavigationViewItem))]
103-
public static ResourceValue<Style> Default => new("NavigationViewItemStyle");
104-
}
105-
10694
public static class PasswordBox
10795
{
10896
[ResourceKeyDefinition(typeof(Style), "FilledPasswordBoxStyle", TargetType = typeof(PasswordBox))]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,339 @@
1+
using Microsoft.UI.Xaml;
2+
using Microsoft.UI.Xaml.Media;
3+
using Uno.Extensions.Markup.Internals;
4+
5+
namespace Uno.Themes.Markup
6+
{
7+
public static partial class Theme
8+
{
9+
public static class SplitView
10+
{
11+
public static class Resources
12+
{
13+
public static class Default
14+
{
15+
public static class Pane
16+
{
17+
public static class Length
18+
{
19+
[ResourceKeyDefinition(typeof(double), "SplitViewOpenPaneThemeLength")]
20+
public static ResourceValue<double> Open => new("SplitViewOpenPaneThemeLength", true);
21+
22+
[ResourceKeyDefinition(typeof(double), "SplitViewCompactPaneThemeLength")]
23+
public static ResourceValue<double> Compact => new("SplitViewCompactPaneThemeLength", true);
24+
}
25+
26+
public static class AnimationDuration
27+
{
28+
[ResourceKeyDefinition(typeof(string), "SplitViewPaneAnimationOpenDuration")]
29+
public static ResourceValue<string> Open => new("SplitViewPaneAnimationOpenDuration", true);
30+
31+
[ResourceKeyDefinition(typeof(string), "SplitViewPaneAnimationOpenPreDuration")]
32+
public static ResourceValue<string> OpenPre => new("SplitViewPaneAnimationOpenPreDuration", true);
33+
34+
[ResourceKeyDefinition(typeof(string), "SplitViewPaneAnimationCloseDuration")]
35+
public static ResourceValue<string> Close => new("SplitViewPaneAnimationCloseDuration", true);
36+
}
37+
38+
public static class CornerRadiuses
39+
{
40+
[ResourceKeyDefinition(typeof(CornerRadius), "SplitViewPaneRootCornerRadius")]
41+
public static ResourceValue<CornerRadius> Root => new("SplitViewPaneRootCornerRadius", true);
42+
}
43+
}
44+
45+
public static class BorderThickness
46+
{
47+
[ResourceKeyDefinition(typeof(Thickness), "SplitViewLeftBorderThemeThickness")]
48+
public static ResourceValue<Thickness> Left => new("SplitViewLeftBorderThemeThickness", true);
49+
50+
[ResourceKeyDefinition(typeof(Thickness), "SplitViewRightBorderThemeThickness")]
51+
public static ResourceValue<Thickness> Right => new("SplitViewRightBorderThemeThickness", true);
52+
}
53+
54+
public static class Overlay
55+
{
56+
public static class Background
57+
{
58+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewSplitViewLightDismissOverlayBackground")]
59+
public static ResourceValue<Brush> LightDismiss => new("NavigationViewSplitViewLightDismissOverlayBackground", true);
60+
}
61+
}
62+
}
63+
}
64+
}
65+
66+
public static class NavigationView
67+
{
68+
public static class Resources
69+
{
70+
public static class Default
71+
{
72+
public static class Background
73+
{
74+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewBackground")]
75+
public static ResourceValue<Brush> Default => new("NavigationViewBackground", true);
76+
}
77+
78+
public static class Pane
79+
{
80+
public static class Background
81+
{
82+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewDefaultPaneBackground")]
83+
public static ResourceValue<Brush> Default => new("NavigationViewDefaultPaneBackground", true);
84+
85+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewPaneBackground")]
86+
public static ResourceValue<Brush> Normal => new("NavigationViewPaneBackground", true);
87+
88+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewTopPaneBackground")]
89+
public static ResourceValue<Brush> Top => new("NavigationViewTopPaneBackground", true);
90+
}
91+
92+
public static class BorderBrush
93+
{
94+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewDefaultPaneBorderBrush")]
95+
public static ResourceValue<Brush> Default => new("NavigationViewDefaultPaneBorderBrush", true);
96+
}
97+
}
98+
99+
public static class Button
100+
{
101+
public static class Foreground
102+
{
103+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonForeground")]
104+
public static ResourceValue<Brush> Default => new("NavigationViewButtonForeground", true);
105+
106+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonForegroundPointerOver")]
107+
public static ResourceValue<Brush> PointerOver => new("NavigationViewButtonForegroundPointerOver", true);
108+
109+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonForegroundPressed")]
110+
public static ResourceValue<Brush> Pressed => new("NavigationViewButtonForegroundPressed", true);
111+
112+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonForegroundDisabled")]
113+
public static ResourceValue<Brush> Disabled => new("NavigationViewButtonForegroundDisabled", true);
114+
}
115+
116+
public static class Background
117+
{
118+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonBackground")]
119+
public static ResourceValue<Brush> Default => new("NavigationViewButtonBackground", true);
120+
121+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonBackgroundPointerOver")]
122+
public static ResourceValue<Brush> PointerOver => new("NavigationViewButtonBackgroundPointerOver", true);
123+
124+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonBackgroundPressed")]
125+
public static ResourceValue<Brush> Pressed => new("NavigationViewButtonBackgroundPressed", true);
126+
127+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonBackgroundDisabled")]
128+
public static ResourceValue<Brush> Disabled => new("NavigationViewButtonBackgroundDisabled", true);
129+
}
130+
131+
public static class RippleFeedback
132+
{
133+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewButtonRippleFeedback")]
134+
public static ResourceValue<Brush> Default => new("NavigationViewButtonRippleFeedback", true);
135+
}
136+
}
137+
138+
public static class Item
139+
{
140+
public static class Background
141+
{
142+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackground")]
143+
public static ResourceValue<Brush> Default => new("NavigationViewItemBackground", true);
144+
145+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundPointerOver")]
146+
public static ResourceValue<Brush> PointerOver => new("NavigationViewItemBackgroundPointerOver", true);
147+
148+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundPressed")]
149+
public static ResourceValue<Brush> Pressed => new("NavigationViewItemBackgroundPressed", true);
150+
151+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundDisabled")]
152+
public static ResourceValue<Brush> Disabled => new("NavigationViewItemBackgroundDisabled", true);
153+
154+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundSelected")]
155+
public static ResourceValue<Brush> Selected => new("NavigationViewItemBackgroundSelected", true);
156+
157+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundSelectedPointerOver")]
158+
public static ResourceValue<Brush> SelectedPointerOver => new("NavigationViewItemBackgroundSelectedPointerOver", true);
159+
160+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundSelectedPressed")]
161+
public static ResourceValue<Brush> SelectedPressed => new("NavigationViewItemBackgroundSelectedPressed", true);
162+
163+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBackgroundSelectedDisabled")]
164+
public static ResourceValue<Brush> SelectedDisabled => new("NavigationViewItemBackgroundSelectedDisabled", true);
165+
}
166+
167+
public static class Foreground
168+
{
169+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForeground")]
170+
public static ResourceValue<Brush> Default => new("NavigationViewItemForeground", true);
171+
172+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundPointerOver")]
173+
public static ResourceValue<Brush> PointerOver => new("NavigationViewItemForegroundPointerOver", true);
174+
175+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundPressed")]
176+
public static ResourceValue<Brush> Pressed => new("NavigationViewItemForegroundPressed", true);
177+
178+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundDisabled")]
179+
public static ResourceValue<Brush> Disabled => new("NavigationViewItemForegroundDisabled", true);
180+
181+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundSelected")]
182+
public static ResourceValue<Brush> Selected => new("NavigationViewItemForegroundSelected", true);
183+
184+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundSelectedPointerOver")]
185+
public static ResourceValue<Brush> SelectedPointerOver => new("NavigationViewItemForegroundSelectedPointerOver", true);
186+
187+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundSelectedPressed")]
188+
public static ResourceValue<Brush> SelectedPressed => new("NavigationViewItemForegroundSelectedPressed", true);
189+
190+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemForegroundSelectedDisabled")]
191+
public static ResourceValue<Brush> SelectedDisabled => new("NavigationViewItemForegroundSelectedDisabled", true);
192+
}
193+
194+
public static class BorderBrush
195+
{
196+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrush")]
197+
public static ResourceValue<Brush> Default => new("NavigationViewItemBorderBrush", true);
198+
199+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushPointerOver")]
200+
public static ResourceValue<Brush> PointerOver => new("NavigationViewItemBorderBrushPointerOver", true);
201+
202+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushPressed")]
203+
public static ResourceValue<Brush> Pressed => new("NavigationViewItemBorderBrushPressed", true);
204+
205+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushDisabled")]
206+
public static ResourceValue<Brush> Disabled => new("NavigationViewItemBorderBrushDisabled", true);
207+
208+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushSelected")]
209+
public static ResourceValue<Brush> Selected => new("NavigationViewItemBorderBrushSelected", true);
210+
211+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushSelectedPointerOver")]
212+
public static ResourceValue<Brush> SelectedPointerOver => new("NavigationViewItemBorderBrushSelectedPointerOver", true);
213+
214+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushSelectedPressed")]
215+
public static ResourceValue<Brush> SelectedPressed => new("NavigationViewItemBorderBrushSelectedPressed", true);
216+
217+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemBorderBrushSelectedDisabled")]
218+
public static ResourceValue<Brush> SelectedDisabled => new("NavigationViewItemBorderBrushSelectedDisabled", true);
219+
}
220+
221+
public static class Separator
222+
{
223+
public static class Foreground
224+
{
225+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemSeparatorForeground")]
226+
public static ResourceValue<Brush> Default => new("NavigationViewItemSeparatorForeground", true);
227+
}
228+
}
229+
230+
public static class Header
231+
{
232+
public static class Foreground
233+
{
234+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemHeaderForeground")]
235+
public static ResourceValue<Brush> Default => new("NavigationViewItemHeaderForeground", true);
236+
}
237+
}
238+
239+
public static class RippleFeedback
240+
{
241+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewItemRippleFeedback")]
242+
public static ResourceValue<Brush> Default => new("NavigationViewItemRippleFeedback", true);
243+
}
244+
}
245+
246+
public static class SelectionIndicator
247+
{
248+
public static class Foreground
249+
{
250+
[ResourceKeyDefinition(typeof(Brush), "NavigationViewSelectionIndicatorForeground")]
251+
public static ResourceValue<Brush> Default => new("NavigationViewSelectionIndicatorForeground", true);
252+
}
253+
}
254+
}
255+
256+
public static class Top
257+
{
258+
public static class Item
259+
{
260+
public static class Foreground
261+
{
262+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForeground")]
263+
public static ResourceValue<Brush> Default => new("TopNavigationViewItemForeground", true);
264+
265+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundPointerOver")]
266+
public static ResourceValue<Brush> PointerOver => new("TopNavigationViewItemForegroundPointerOver", true);
267+
268+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundPressed")]
269+
public static ResourceValue<Brush> Pressed => new("TopNavigationViewItemForegroundPressed", true);
270+
271+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundDisabled")]
272+
public static ResourceValue<Brush> Disabled => new("TopNavigationViewItemForegroundDisabled", true);
273+
274+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundSelected")]
275+
public static ResourceValue<Brush> Selected => new("TopNavigationViewItemForegroundSelected", true);
276+
277+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundSelectedPointerOver")]
278+
public static ResourceValue<Brush> SelectedPointerOver => new("TopNavigationViewItemForegroundSelectedPointerOver", true);
279+
280+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundSelectedPressed")]
281+
public static ResourceValue<Brush> SelectedPressed => new("TopNavigationViewItemForegroundSelectedPressed", true);
282+
283+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemForegroundSelectedDisabled")]
284+
public static ResourceValue<Brush> SelectedDisabled => new("TopNavigationViewItemForegroundSelectedDisabled", true);
285+
}
286+
287+
public static class Background
288+
{
289+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackground")]
290+
public static ResourceValue<Brush> Default => new("TopNavigationViewItemBackground", true);
291+
292+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundPointerOver")]
293+
public static ResourceValue<Brush> PointerOver => new("TopNavigationViewItemBackgroundPointerOver", true);
294+
295+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundPressed")]
296+
public static ResourceValue<Brush> Pressed => new("TopNavigationViewItemBackgroundPressed", true);
297+
298+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundDisabled")]
299+
public static ResourceValue<Brush> Disabled => new("TopNavigationViewItemBackgroundDisabled", true);
300+
301+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundSelected")]
302+
public static ResourceValue<Brush> Selected => new("TopNavigationViewItemBackgroundSelected", true);
303+
304+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundSelectedPointerOver")]
305+
public static ResourceValue<Brush> SelectedPointerOver => new("TopNavigationViewItemBackgroundSelectedPointerOver", true);
306+
307+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundSelectedPressed")]
308+
public static ResourceValue<Brush> SelectedPressed => new("TopNavigationViewItemBackgroundSelectedPressed", true);
309+
310+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemBackgroundSelectedDisabled")]
311+
public static ResourceValue<Brush> SelectedDisabled => new("TopNavigationViewItemBackgroundSelectedDisabled", true);
312+
}
313+
314+
public static class Separator
315+
{
316+
public static class Foreground
317+
{
318+
[ResourceKeyDefinition(typeof(Brush), "TopNavigationViewItemSeparatorForeground")]
319+
public static ResourceValue<Brush> Default => new("TopNavigationViewItemSeparatorForeground", true);
320+
}
321+
}
322+
}
323+
}
324+
}
325+
326+
public static class Styles
327+
{
328+
[ResourceKeyDefinition(typeof(Style), "NavigationViewStyle", TargetType = typeof(NavigationView))]
329+
public static ResourceValue<Style> Default => new("NavigationViewStyle");
330+
331+
public static class NavigationViewItem
332+
{
333+
[ResourceKeyDefinition(typeof(Style), "NavigationViewItemStyle", TargetType = typeof(NavigationViewItem))]
334+
public static ResourceValue<Style> DefaultItem => new("NavigationViewItemStyle");
335+
}
336+
}
337+
}
338+
}
339+
}

0 commit comments

Comments
 (0)