Можно ли удалить белую полосу поверх окна WPF с помощью Window Style = None. XAML и Window показаны на скриншоте:
Как удалить белую полосу поверх окна WPF с помощью WindowStyle = Нет?
Ответ 1
То, что вы видите в белом, это граница размера. Вы можете удалить это и по-прежнему изменить размер окна, установив ResizeMode="CanResizeWithGrip" AllowsTransparency="True"
Если вы вообще не хотите изменять размер, сделайте это - ResizeMode="NoResize"
, снова вы не увидите границу, но вы не можете изменить размер.
<Window x:Class="HandsOnSolution.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Background="Green" WindowStyle="None" ResizeMode="CanResizeWithGrip" AllowsTransparency="True">
<Grid>
</Grid>
</Window>
Edit
Хорошая точка от @devuxer, если вы заинтересованы в перетаскивании, вы можете добавить этот кусок кода в окно мыши вниз событие
<Window MouseLeftButtonDown="Window_MouseLeftButtonDown"/>
//code behind
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DragMove();
}
Ответ 2
Я искал решение в течение нескольких дней, простыми словами, эта ссылка содержала ответ на мои вопросы.
хотя фрагмент кода, который сделал волшебство, был:
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome CaptionHeight="0"
CornerRadius="2"
GlassFrameThickness="0"
NonClientFrameEdges="None"
ResizeBorderThickness="3"/>
</Setter.Value>
</Setter>
Я только что добавил вышеуказанный установщик свойства в пользовательский стиль окна.
Надеюсь, что помогло :)
Ответ 3
да, это помогает, после этого добавлено, белая рамка в голове исчезла. СПАСИБО!
Ответ 4
Я добавил этот кусок кода:
<WindowChrome.WindowChrome>
<WindowChrome GlassFrameThickness="0,0,0,1" CornerRadius="0" />
</WindowChrome.WindowChrome>
внутри <Window> paste here <Window/>
и это помогло :)