AllowsTransparency="true" 之后,Window就变成了Layed Window, 关于什么是Layed Window 请先阅读下:http://msdn.microsoft.com/zh-cn/library/ms997507(en-us).aspx 简单的说,Layed Window模式下我们就可以设置窗体透明度已达到窗体区域能够缓存和显示被他覆盖部分的图像。 Windows中,屏幕上一个区域只能有一种技术区描绘,或是GDI或是DirectX等,Layed Window在显示的时候,窗体本身有缓存他下方被覆盖区域的图像,所以内存占用会变大。否则他是无法显示半透明时被覆盖的部分的,即显示为黑色。
目前没有方法可以解决掉你所说的内存大的问题。
再推荐一篇资料以供学习参考:http://blogs.msdn.com/b/dwayneneed/archive/2008/09/09/transparent-windows-in-wpf.aspx
Bob Bao [MSFT] MSDN Community Support | Feedback to us