internal static void SetNonClientRenderingPolicy(this Window window, NonClientRenderingPolicy policy) { Contract.Requires(window != null); //Contract.Requires(Enum.IsDefined(typeof(NonClientRenderingPolicy), policy)); var handle = window.GetWin32Handle(); const int attr = (int)WindowAttribute.NonClientRenderingPolicy; var value = (int)policy; const int size = sizeof(int); var result = UnsafeNativeMethods.DwmSetWindowAttribute(handle, attr, ref value, size); Win32Error.EnsureSuccess(result); }
internal static NonClientRenderingPolicy GetNonClientRenderingPolicy(this Window window) { Contract.Requires(window != null); var handle = window.GetWin32Handle(); const int attr = (int)WindowAttribute.NonClientRenderingPolicy; int value; const int size = sizeof(int); var result = UnsafeNativeMethods.DwmGetWindowAttribute(handle, attr, out value, size); Win32Error.EnsureSuccess(result); return((NonClientRenderingPolicy)value); }