使用luna或classic时,如何删除WPF窗口的边框?

时间:2009-07-28 17:32:22

标签: c# .net wpf windows

当我使用WindowStyle="None"显示WPF窗口时,使用areo时看起来很棒。

然而,当我使用luna或classic时,它会显示一个约5像素宽的丑陋灰色边框。

当然,如果我设置ResizeMode="NoResize",此边框会消失,但我希望窗口可以调整大小(ResizeMode="CanResize")。

其他非WPF应用程序(实时邮件,即firefox等)不显示此灰色边框,但仍可调整大小。

有没有办法在可调整大小的同时删除此边框?

3 个答案:

答案 0 :(得分:14)

我正在使用WPF Customizable Window's Essential Window。这是我的窗口声明(缩写):

    <CustomWindow:EssentialWindow 
      xmlns:aero="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
      xmlns:CustomWindow="clr-namespace:CustomWindow;assembly=CustomWindow"
      AllowsTransparency="True" Background="Transparent" 
      ResizeMode="CanResizeWithGrip"
      WindowStyle="None"
      ShowInTaskbar="True" >

答案 1 :(得分:10)

尝试在窗口上将AllowsTransparency设置为True。

答案 2 :(得分:6)

我找到了更好的答案。无需乱搞ResizeMode。无需互操作电话。无需设置可能有副作用的AllowTransparency。

<WindowChrome.WindowChrome>
 <WindowChrome CaptionHeight="0" ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>

我从这个帖子中得到了这个答案:How to create a WPF Window without a border that can be resized via a grip only?

我将此处转发给搜索谷歌的人们。