1

我正在尝试在 WPF 中创建一个简单的“对话框”类型的窗口。但是,对于这个特定的实例,我不希望客户区有边框,甚至是背景。我只希望我的控件像使用简单的 MessageBox 一样出现在窗口的背景上。

我使用了不同的值,WindowStyle但它们都用颜色标出了客户区。我也尝试简单地将客户端设置Background为透明,但这也不起作用,只是将其渲染为黑色。

这是一个糟糕的 Photoshop 工作,显示了我所追求的:

注意我不关注消息框内容本身——例如图标、按钮和消息等——我只是询问如何禁止客户区出现在 任何 窗口中。我只是碰巧使用了一个消息框作为示例,因为有人在他们的答案中链接到它。

没有客户区

如您所见(或者不能),客户区没有可见的分界线。

曾经在 WinForms 中如此简单,但 WPF 让我很难过。任何人?

4

1 回答 1

2

我不确定你在追求什么。您是否只希望对话框上的控件可见,对话框的边框和背景透明?如果是这样,请在对话框中尝试以下设置:

WindowStyle="None"
ShowInTaskbar="False"
AllowsTransparency="True"
Background="Transparent"

如果您希望对话框的背景颜色为System.Control没有边框的 Winform,请将您的表单设置Background为这样(而不是透明):

Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
于 2011-08-04T02:59:14.273 回答