如果您将AllowTransparency设置为true,则不会显示WPF - 表单控件

时间:2009-08-14 17:57:31

标签: wpf

我有一个应用程序,我使用AllowTransparency设置为true,允许我让我的窗口有圆角,顶部没有窗口栏。我最近需要添加一个Windows窗体控件的使用,但控件只会显示我是否将AllowTransparency设置为false,然后更改应用程序的整体外观。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

AllowTransparency速度慢且有问题,它甚至可以使您的应用程序崩溃或导致其他应用程序出现异常行为(由于图形驱动程序中的错误,但您的用户会责怪您)。

查看这篇文章,了解如何删除标题栏并使用圆角而不使用AllowTransparency:http://blogs.msdn.com/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx(查找章节标题“没有Aero的Office 2007 - 或者,您负责一切”)。

简而言之,使用PInvoke调用Win32 CreateRoundRectRgn和SetWindowRgn来获得圆角。

答案 1 :(得分:0)

您是否检查过您正在使用的控件的顺序?

应该是顶部的控件允许透明度 然后是Grid或其他指定填充的布局 之后的所有其他控件

听起来您尝试添加/编辑的控件的顺序错误,并直接从层次结构中的上述控件继承。