WPF中设置Window.AllowsTransparent为true时出现运行时错误

3
当我设置AllowsTransparency="True"时,运行时会抛出异常,异常信息显示如果将AllowsTransparency设置为true,则无法将WindowStyle设置为None。即使我明确指定WindowStyle设置为SingleBorder,我仍然会收到此错误。但是,如果我将WindowStyle设置为SingleBorder并删除AllowsTransparency标签,则不会出现错误,并且窗口顶部(图标、名称和关闭、最小化和最大化按钮)会消失。任何人知道是什么原因吗?或者这只是.Net 4.0 RC中的一个错误吗?
[编辑] 我在VS2008中也尝试了这个问题,结果相同。我想实现的是一个简单的窗口,在其中自己绘制窗口,不留任何东西给系统处理,但是,像最小化和最大化这样的功能必须仍然有效。

我只是匆忙地拼凑了一个窗口,这个方法很好用。你能否发布一下你的窗口XAML代码,这样我们就可以找出你可能犯的错误? - Abe Heidebrecht
1个回答

4

错误应该是相反的,所以你要么遇到了一个错误,要么误读了错误消息。任何时候,当您有AllowsTransparency="True"时,唯一有效的WindowStyle值是None。其他任何值都会添加依赖于操作系统的窗口装饰,这些装饰不能被强制为其客户区域具有透明度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接