2016-04-14 40 views
9

ウィンドウスタイル=なしの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

WPFウィンドウがWindowsフォームコントロールをレンダリングするときにAllowsTransparency = "True"を使用できないことを忘れて申し訳ありません。 WPFウィンドウでホストされているWindowsフォームは表示されません(他のスレッドを参照)。 –

関連する問題