我试图创建一个无边框窗口, WindowStyle="None"
但是当我测试它时,顶部似乎出现了一个白条,经过一些研究,它似乎是“调整边框大小”,这是一张图片(我用黄色标记):

经过互联网的一些研究,以及许多困难的非 xaml 解决方案,我发现的所有解决方案都是 C# 中的代码和大量代码行,我在这里间接找到了解决方案:Maximum custom window lost drop shadow effect
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
注意 :您需要使用 .NET 4.5 框架,或者如果您使用的是旧版本,请使用 WPFShell,只需引用 shell 并Shell:WindowChrome.WindowChrome
改用即可。
我使用了WindowChrome
Window 的属性,如果你使用它,白色的“调整边框”就会消失,但你需要定义一些属性才能正常工作。
CaptionHeight:这是标题区域(标题栏)的高度,允许像普通标题栏一样进行 Aero 捕捉、双击行为。将此设置为 0(零)以使按钮工作。
ResizeBorderThickness:这是窗口边缘的厚度,您可以在此处调整窗口大小。我放 5 是因为我喜欢这个数字,而且如果你放 0 就很难调整窗口的大小。
使用此短代码后,结果如下:

ResizeMode="NoResize"
现在,白色边框在没有使用and的情况下消失了AllowsTransparency="True"
,并且在窗口中显示了阴影。
稍后我将解释如何使用简单而简短的代码轻松地制作按钮(我没有使用图像作为按钮),我是新手,我认为我可以发布到 codeproject,因为在这里我没有找到这个地方发布教程。
也许还有另一种解决方案(我知道对于像我这样的菜鸟来说有困难和困难的解决方案)但这适用于我的个人项目。
这是完整的代码
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Concursos"
mc:Ignorable="d"
Title="Concuros" Height="350" Width="525"
WindowStyle="None"
WindowState="Normal"
ResizeMode="CanResize"
>
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
<Grid>
<Rectangle Fill="#D53736" HorizontalAlignment="Stretch" Height="35" VerticalAlignment="Top" PreviewMouseDown="Rectangle_PreviewMouseDown" />
<Button x:Name="Btnclose" Content="r" HorizontalAlignment="Right" VerticalAlignment="Top" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
<Button x:Name="Btnmax" Content="2" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,0,35,0" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
<Button x:Name="Btnmin" Content="0" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,0,70,0" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
</Grid>
谢谢!