LiquidGlass.Uno
2.0.0-preview.1
dotnet add package LiquidGlass.Uno --version 2.0.0-preview.1
NuGet\Install-Package LiquidGlass.Uno -Version 2.0.0-preview.1
<PackageReference Include="LiquidGlass.Uno" Version="2.0.0-preview.1" />
<PackageVersion Include="LiquidGlass.Uno" Version="2.0.0-preview.1" />
<PackageReference Include="LiquidGlass.Uno" />
paket add LiquidGlass.Uno --version 2.0.0-preview.1
#r "nuget: LiquidGlass.Uno, 2.0.0-preview.1"
#:package LiquidGlass.Uno@2.0.0-preview.1
#addin nuget:?package=LiquidGlass.Uno&version=2.0.0-preview.1&prerelease
#tool nuget:?package=LiquidGlass.Uno&version=2.0.0-preview.1&prerelease
LiquidGlass.Uno
Apple's Liquid Glass
design language as a reusable Uno Platform theme, structured the same way as
Uno.Themes (Material/Cupertino): a
ResourceDictionary entry point merged into App.xaml, per-control resource
dictionaries, explicit LiquidGlass* styles, implicit styles applied by default,
and override hooks for rebranding.
Breaking change: The public namespace and assembly changed from
Uno.Themes.LiquidGlasstoLiquidGlass.Unoso they match the NuGet package ID. Update XAMLusing:declarations, C# imports, and assembly-qualified names.
Getting started
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<LiquidGlassTheme xmlns="using:LiquidGlass.Uno" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Optional overrides (mirroring MaterialTheme):
<LiquidGlassTheme xmlns="using:LiquidGlass.Uno"
ColorOverrideSource="ms-appx:///MyApp/Styles/LiquidGlassColorsOverride.xaml"
FontOverrideSource="ms-appx:///MyApp/Styles/LiquidGlassFontsOverride.xaml" />
How Liquid Glass is encoded
| Apple rule | Implementation |
|---|---|
| Translucent material that blurs content behind it | AcrylicBrush glass fills (LiquidGlassFillBrush, LiquidGlassSurfaceBrush, …) with translucent fallbacks for renderers without backdrop support |
| Regular vs clear material | LiquidGlassFillBrush (adaptive) vs LiquidGlassClearFillBrush (media-rich content) |
| Specular highlights / rim lighting | LiquidGlassSpecularBrush wash + LiquidGlassStrokeBrush gradient rim on every glass surface |
| Capsule buttons, 44pt touch targets | Button family: MinHeight="44", CornerRadius="22" |
| Concentric corner radii | Card radius 26 − padding 16 = nested radius 10 (LiquidGlass*CornerRadius tokens in Common.xaml) |
| Monochrome glass; color for the primary action only | Glass is the default; LiquidGlassProminentButtonStyle carries the tint |
| Adaptive light/dark appearance | Full Light/Default theme dictionaries with identical key sets |
| Apple system palette | #007AFF/#0A84FF tint, #34C759/#30D158 switch green, #FF3B30/#FF453A destructive, Apple label/separator colors |
| Controls float above the content layer | LiquidGlassCardBorderStyle / LiquidGlassSurfaceBorderStyle glass containers; flyout/dialog surfaces use the heavier material |
Style catalog
Implicit styles restyle Button, ToggleButton, RepeatButton, HyperlinkButton,
TextBox, PasswordBox, ToggleSwitch, RadioButton, CheckBox, Slider,
ComboBox, ProgressBar, DatePicker, TimePicker, CalendarDatePicker,
AutoSuggestBox, FlyoutPresenter, MenuFlyoutPresenter, MenuFlyoutItem,
MenuFlyoutSeparator, ContentDialog, TabViewItem, and the picker flyout
presenters by default. DatePicker/TimePicker are fully retemplated as
segmented glass fields (their template part names are preserved so flyouts and
culture-based field ordering keep working), and AutoSuggestBox gets a glass inner
field that keeps the query button plus a glass suggestions surface.
Explicit keys:
LiquidGlassButtonStyle— monochrome glass capsule (default)LiquidGlassProminentButtonStyle— tinted primary actionLiquidGlassDestructiveButtonStyle— destructive label on glassLiquidGlassToggleButtonStyle,LiquidGlassRepeatButtonStyle,LiquidGlassHyperlinkButtonStyleLiquidGlassTextBoxStyle,LiquidGlassPasswordBoxStyleLiquidGlassToggleSwitchStyle— 51×31 Apple switch, system green when onLiquidGlassRadioButtonStyle,LiquidGlassCheckBoxStyle,LiquidGlassSliderStyleLiquidGlassComboBoxStyle,LiquidGlassProgressBarStyleLiquidGlassDatePickerStyle,LiquidGlassTimePickerStyle— segmented glass fieldsLiquidGlassDatePickerFlyoutPresenterStyle,LiquidGlassTimePickerFlyoutPresenterStyle— glass picker-wheel popupsLiquidGlassCalendarDatePickerStyleLiquidGlassAutoSuggestBoxStyle,LiquidGlassAutoSuggestBoxTextBoxStyle,LiquidGlassQueryButtonStyleLiquidGlassPickerFieldButtonStyle— the flat glass field the pickers shareLiquidGlassCardBorderStyle,LiquidGlassSurfaceBorderStyle— glass containers
Window-level surfaces:
LiquidGlassFlyoutPresenterStyle,LiquidGlassMenuFlyoutPresenterStyle— glass flyout/menu surfacesLiquidGlassMenuFlyoutItemStyle— macOS-style menu rows (tint highlight, white text on hover)LiquidGlassMenuFlyoutSeparatorStyleLiquidGlassContentDialogStyle— glass dialog with capsule command buttons (LiquidGlassDialogButtonStyle/LiquidGlassDialogProminentButtonStyle); the theme also overrides the framework'sAccentButtonStylekey soDefaultButtonstays prominent glassLiquidGlassTabViewItemStyle— tabs as an Apple segmented control (selected tab is a glass pill)LiquidGlassNavigationViewItemStyle/LiquidGlassNavigationViewItemPresenterStyle— Apple-style sidebar rows: rounded, no selection indicator bar, frosted glass pill for the selected row (the indicator part is kept but transparent so NavigationView's selection animation machinery keeps working). Hierarchical items are supported: children indent per depth and the chevron flips between open/closed.- NavigationView: its pane brushes are hardcoded deep in the stock template, so the theme
ships an attached helper instead of a 2000-line fork:
<NavigationView lg:LiquidGlassNavigation.GlassPane="True">turns the pane into a floating rounded glass panel (Apple Tahoe-style sidebar) — inset from the window edges, frosty acrylic (LiquidGlassPaneBrush), rim light — and tracks light/dark changes. The content layer extends underneath it through the blur ("background extension effect").
Design tokens live in Themes/Common.xaml (shapes, metrics, typography) and
Themes/Colors.xaml (palette + materials, per theme).
Implementation notes
- Some controls are fully retemplated (buttons, text inputs, switch, radio, slider,
date/time pickers, AutoSuggestBox) because Uno's stock Fluent templates resolve
their lightweight styling resources from framework scope, so app-level overrides
of keys like
TextControlBackgrounddon't take effect — the same reason Uno.Themes ships full templates. - The DatePicker/TimePicker flyout presenters are retemplated too: the
looping-selector popups sit on the heavier glass surface with an iOS-style
rounded selection band (
LiquidGlassDatePickerFlyoutPresenterStyle,LiquidGlassTimePickerFlyoutPresenterStyle). The wheels themselves (LoopingSelector items) keep their stock, theme-aware rendering. - Uno's Skia renderer gives
AcrylicBrushreal backdrop blur (verified on macOS desktop with Uno 6.5) — the glass materials genuinely blur the content behind them. Note thatRenderTargetBitmaprenders acrylic as its fallback color, so in-app screenshots understate the effect; judge blur on screen or via OS-level capture. - Put glass over a rich content layer. Liquid Glass is defined by what it refracts; on a flat background it reads as plain gray.
- Don't stack glass on glass: cards are glass, controls inside cards sit on the card's material.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-android36.0 is compatible. net10.0-browser was computed. net10.0-browserwasm1.0 is compatible. net10.0-desktop1.0 is compatible. net10.0-ios was computed. net10.0-ios26.0 is compatible. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net10.0-windows10.0.26100 is compatible. |
-
net10.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.5.237)
- Uno.WinUI.Graphics2DSK (>= 6.5.237)
- Uno.WinUI.Lottie (>= 6.5.237)
-
net10.0-android36.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.5.237)
- Uno.WinUI.Graphics2DSK (>= 6.5.237)
- Uno.WinUI.Lottie (>= 6.5.237)
-
net10.0-browserwasm1.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.5.237)
- Uno.WinUI.Graphics2DSK (>= 6.5.237)
- Uno.WinUI.Lottie (>= 6.5.237)
-
net10.0-desktop1.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.5.237)
- Uno.WinUI.Graphics2DSK (>= 6.5.237)
- Uno.WinUI.Lottie (>= 6.5.237)
-
net10.0-ios26.0
- SkiaSharp.Views.Uno.WinUI (>= 3.119.2)
- Uno.WinUI (>= 6.5.237)
- Uno.WinUI.Graphics2DSK (>= 6.5.237)
- Uno.WinUI.Lottie (>= 6.5.237)
-
net10.0-windows10.0.26100
- Microsoft.Windows.SDK.BuildTools (>= 10.0.28000.1839)
- Microsoft.WindowsAppSDK (>= 1.8.260209005)
- Uno.WinUI (>= 6.5.237)
- Uno.WinUI.Graphics2DSK (>= 6.5.237)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on LiquidGlass.Uno:
| Package | Downloads |
|---|---|
|
DevWinUI.LiquidGlass
DevWinUI-inspired controls (https://github.com/ghost1372/DevWinUI, MIT) ported to Uno Platform and restyled with the Liquid Glass design language. The upstream library is Windows App SDK-only; these are cross-platform re-implementations of its signature controls. |
|
|
LiquidGlass.CommunityToolkit
Liquid Glass theme for the Windows Community Toolkit controls (CommunityToolkit.WinUI 8.x, which ships Uno Platform support out of the box — the Uno.WindowsCommunityToolkit 7.x fork is legacy). References the toolkit packages and restyles their controls with the Liquid Glass design language. |
|
|
LiquidGlass.UnoToolkit
Liquid Glass styles for every visual control in Uno.Toolkit.WinUI, including cards, chips, dividers, drawers, loading views, navigation bars, safe areas, tab bars, and zoom content. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.1 | 0 | 7/16/2026 |
| 1.0.0-preview.3 | 0 | 7/16/2026 |
| 1.0.0-preview.2 | 32 | 7/15/2026 |