2016-04-14 149 views
9

是否可以使用Window Style = None刪除WPF窗口頂部的白色條帶。 XAML和窗口顯示在屏幕截圖:如何使用WindowStyle = None刪除WPF窗口頂部的白色條紋?

enter image description here

+0

我看不到可視化樹中的任何東西都會導致這種情況,但我可以在Windows 10上重現它。我想知道在以前的Windows版本中是否也會發生這種情況。也許這是由於窗口布局和邊框處理方式的差異而引入的錯誤。 – Joey

+0

可能的重複[如何在wpf中創建自定義窗口鑲邊?](http://stackoverflow.com/questions/6792275/how-to-create-custom-window-chrome-in-wpf) – devuxer

回答

9

你們看到白色的調整大小的邊界。您可以刪除,仍然使窗口可調整大小設置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> 

編輯

通過@devuxer好一點,如果你有興趣在拖你可以這段代碼添加到窗口鼠標按下事件

<Window MouseLeftButtonDown="Window_MouseLeftButtonDown"/> 

//code behind 
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    DragMove(); 
} 
+0

試試看,它好像你實際上不能移動窗口,而且你只能從右下角調整它,所以它大大削弱了調整大小的能力。不過,這也許是OP所需要的。 – devuxer

+1

對不起,我忘記提及我無法使用AllowsTransparency =「True」,因爲我的WPF窗口呈現Windows窗體控件。在WPF窗口上託管的Windows窗體不顯示(請參閱其他線程)。 –