Как удалить границу окна WPF при использовании luna или classic?

Когда я показываю окно WPF с WindowStyle="None", он отлично выглядит при использовании iso.

Однако, когда я использую луну или классику, она отображает уродливую серая граница шириной около 5 пикселей.

Конечно, если я устанавливаю ResizeMode="NoResize", эта граница исчезает, но я хотел бы, чтобы окно изменялось (ResizeMode="CanResize").

Другие приложения, отличные от WPF (живая почта, т.е. firefox и т.д.), не отображают эту серая граница, но все еще изменяемы.

Есть ли способ удалить эту границу при изменении размера?

Ответ 1

Я использую WPF Customizable Window 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" >

Ответ 2

Попробуйте установить AllowsTransparency значение True в окне.

Ответ 3

Я нашел лучший ответ. Не нужно возиться с ResizeMode. Нет необходимости в вызовах interop. Нет необходимости устанавливать AllowsTransparency, который может иметь побочные эффекты.

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

Я принял этот ответ из этой темы: Как создать окно WPF без рамки, которая может быть изменена только с помощью захвата?

Я отправляю его здесь для людей, которые приземляются здесь на поиски Google.