none
在WPF中设置AllowsTransparency="True"导致的问题 RRS feed

  • 问题

  • 开发环境Microsoft Visual Studio 2008 SP1 +.NET Framework SP1:
    最近在项目中使用AllowsTransparency="True"来透明一个窗体,结果是导致程序运行异常的慢(使用了InkCanvas,在画线的时候曲线都是一段段的线段),把AllowsTransparency设置为Flase则没有这个问题,通过http://support.microsoft.com/default.aspx/kb/937106/zh-cn打上补丁之后改善不是很明显,请问现在有没有什么好的解决办法(Windows XP)?
    • 已移动 邹俊才Moderator 2011年3月4日 15:44 (发件人:2011微软MSDN论坛线下活动互动讨论区(挨踢人士甘苦讨论区))
    2009年8月4日 7:29

全部回复

  • 可以把窗口Style稍微修改来解决, 把WindowStyle的None修改为其它的值似乎都可以正常运行.你尝试下,个人认为这个应该是一个BUG。不过据说在vista的sp1中有修改和优化,具体的没有测试。
    2009年8月5日 12:07
  • MSDN上是这样说的“AllowsTransparency 的目的是为创建非矩形窗口提供方便,因此,当 AllowsTransparency 设置为 true 时,必须将窗口的 WindowStyle 属性设置为 None。”,所以为了透明效果,是不能这样设置的。

    2009年8月6日 3:59