private void EnableBlur() { var windowHelper = new WindowInteropHelper(this); var accent = new BlurBehind.AccentPolicy { AccentState = BlurBehind.AccentState.ACCENT_ENABLE_BLURBEHIND, //GradientColor = (int) ((_blurOpacity << 24) | (_blurBackgroundColor & 0xFFFFFF)) }; var accentStructSize = Marshal.SizeOf(accent); var accentPtr = Marshal.AllocHGlobal(accentStructSize); Marshal.StructureToPtr(accent, accentPtr, false); var data = new BlurBehind.WindowCompositionAttributeData { Attribute = BlurBehind.WindowCompositionAttribute.WCA_ACCENT_POLICY, SizeOfData = accentStructSize, Data = accentPtr }; SetWindowCompositionAttribute(windowHelper.Handle, ref data); Marshal.FreeHGlobal(accentPtr); }
private static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref BlurBehind.WindowCompositionAttributeData data);