WPF C#:设置未完全设置的WPF应用程序的背景颜色

时间:2016-04-14 14:03:57

标签: c# wpf

我制作了一个WPF应用程序(WindowStyle ="无"因此没有默认的窗口按钮,如退出,最大化,最小化)

它不会将颜色(在我的情况下,它是黑色)设置为整个帧: Error

正如您所看到的,存在一些白色差距。 (它不是保证金,我为此测试过。)

<Window x:Class="FancyGUI.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        WindowStyle="None"
        Title="MainWindow" Height="250" Width="340"
        Background="Black">

</Window>

2 个答案:

答案 0 :(得分:3)

我注意到在窗户周围移除了典型的镀铬物。

我用你提供的代码重新创建了窗口,我看到了: black background with window chrome

是否有可能影响窗口的资源文件?

此外,您还有Live Visual Tree正在运行。尝试单击中间按钮,然后尝试单击白色条。如果可以选择它,则应在VS Live Visual Tree窗口中看到它已被选中。

activate live visual tree

<强> 编辑... 在看到Jcl关于ResizeMode =“NoResize”的帖子后,我试了一下。 果然,这就是秘密。

enter image description here

谢谢Jcl!

答案 1 :(得分:3)

您需要在窗口中显示ResizeMode="NoResize",否则会显示标题栏(在您的情况下为空),即使您设置了WindowStyle="None"

  • 仅限WindowStyle="None"

enter image description here

(注意蓝色的“差距”,因为你在顶部称它...这是你的白色差距,只是我的主题是蓝色)

  • 使用ResizeMode="NoResize"

enter image description here

(没有差距,但现在无法调整窗口大小)

  • 或者,如果您仍希望调整其大小(对其设置调整大小),但不显示标题栏,请设置AllowsTransparency="True"ResizeMode="CanResizeWithGrip"

enter image description here

(注意右下角调整大小的手柄)

请注意,AllowsTransparency=true可能会产生副作用。如果这些副作用中的任何一个对您来说是个问题,您可以通过创建自己的(在您的情况下为黑色)边框并发送拖动/调整大小消息来实现自己调整大小。展开你是否需要这个,我会告诉你如何。