WPF 几行代码实现窗体毛玻璃效果(Aero Glass)
2011-11-07 12:56
681 查看
创建一个叫AeroGlass.cs 的类,代码如下:
把这段代码加到主窗体就可以了!
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
GlassHelper.ExtendGlassFrame(this, new Thickness(-1));
}
完整代码下载:http://www.dengfengsoft.com/docs/AeroGlass.zip
using System; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Interop; using System.Windows.Media; [StructLayout(LayoutKind.Sequential)] public struct MARGINS { public MARGINS(Thickness t) { Left = (int)t.Left; Right = (int)t.Right; Top = (int)t.Top; Bottom = (int)t.Bottom; } public int Left; public int Right; public int Top; public int Bottom; } public class GlassHelper { [DllImport("dwmapi.dll", PreserveSig = false)] static extern void DwmExtendFrameIntoClientArea( IntPtr hWnd, ref MARGINS pMarInset); [DllImport("dwmapi.dll", PreserveSig = false)] static extern bool DwmIsCompositionEnabled(); public static bool ExtendGlassFrame(Window window, Thickness margin) { if (!DwmIsCompositionEnabled()) return false; IntPtr hwnd = new WindowInteropHelper(window).Handle; if (hwnd == IntPtr.Zero) throw new InvalidOperationException( "The Window must be shown before extending glass."); // Set the background to transparent from both the WPF and Win32 perspectives window.Background = Brushes.Transparent; HwndSource.FromHwnd(hwnd).CompositionTarget.BackgroundColor = Colors.Transparent; MARGINS margins = new MARGINS(margin); DwmExtendFrameIntoClientArea(hwnd, ref margins); return true; } }
把这段代码加到主窗体就可以了!
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e);
GlassHelper.ExtendGlassFrame(this, new Thickness(-1));
}
完整代码下载:http://www.dengfengsoft.com/docs/AeroGlass.zip
相关文章推荐
- WPF 几行代码实现窗体毛玻璃效果(Aero Glass)
- win7下 窗体玻璃效果的实现和WindowStyle None模式下的移动 wpf
- 几行代码帮您实现Win7窗体的打开效果(C#)
- WPF创建不规则窗体并实现阴影效果
- Jquery的Tabs内容轮换效果实现代码,几行搞定
- wpf制作毛玻璃效果按钮的代码
- 教你几行代码实现图片的模糊效果
- 【转】MFC 迅雷七窗体特效,使用DWM实现Aero Glass效果
- Jquery的Tabs内容轮换效果实现代码,几行搞定
- wpf 实现实时毛玻璃(live blur)效果
- CSS3实用技巧:几行代码实现图片黑白效果
- DWM 窗体玻璃效果实现
- Winform实现窗体抖动的效果代码
- 2句代码轻松实现WPF最大化不遮挡任务栏并且具有边框调节效果
- 2句代码轻松实现WPF最大化不遮挡任务栏并且具有边框调节效果
- wpf的毛边窗体效果 前台代码
- WPF实现毛玻璃效果
- 几行代码轻松搞定jquery实现flash8类似的连接效果
- C#迅雷七窗体特效,使用DWM实现Aero Glass效果
- C# 分别在windows form和wpf中实现windows 7 玻璃(areo)效果