
Background acrylic reveals the desktop wallpaper and other windows that are behind the currently active app, adding depth between application windows while celebrating the user’s personalization preferences. There are two acrylic blend types that change what’s visible through the material: Get the source code (GitHub) Acrylic blend typesĪcrylic's most noticeable characteristic is its transparency. Get the XAML Controls Gallery app (Microsoft Store) ReSharper disable InconsistentNaming, UnusedMember.Local, NotAccessedField.If you have the XAML Controls Gallery app installed, click here to open the app and see acrylic in action. If (window is null) throw new ArgumentNullException(nameof(window)) ĪccentState = ACCENT.ENABLE_ACRYLICBLURBEHIND, Public static void EnableAcrylic(IWin32Window window, Color blurColor) Protected override void OnPaintBackground(PaintEventArgs e)
WindowUtils.EnableAcrylic(this, Color.Transparent) Color.FromArgb(128, Color.Lime) for a 50% opacity green tint.
Protected override void OnHandleCreated(EventArgs e) See Raymond Chen's When programs grovel into undocumented structures… before proceeding. You most likely will have to custom-draw anything that goes on top of it, similar to how Aero glass was but worse because how you'll have to custom-draw the title bar and borders now, too. I'd be interested to take a look at what DevExpress does, but it looks like there's a lot more to do than to just enable acrylic. Resizing the form lags the mouse cursor itself really badly, too. I didn't find it particularly hard to get the acrylic effect itself in Windows Forms (see ), but the really hard part would be getting Win32 itself to work well with it: