web-dev-qa-db-ja.com

WindowStyle = NoneのWPFウィンドウの上の白いストリップを削除する方法

Window Style = NoneでWPFウィンドウの上の白いストリップを削除することは可能ですか? XAMLとウィンドウがスクリーンショットに示されています。

enter image description here

23

白で表示されているのは、サイズ変更された境界線です。これを削除しても、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();
}
27
Carbine

私は数日間、解決策を探していました、簡単な言葉で言えば this リンクは私のクエリに対する答えを保持していました

マジックを行ったコードスニペットは次のとおりです。

<Setter Property="WindowChrome.WindowChrome">
    <Setter.Value>
        <WindowChrome CaptionHeight="0"
            CornerRadius="2"
            GlassFrameThickness="0"
            NonClientFrameEdges="None"
            ResizeBorderThickness="3"/>
    </Setter.Value>
</Setter>

上記のプロパティセッターをカスタムウィンドウスタイルに追加しました。

それが役に立てば幸い:)

11
Yashash Gaurav

私はこのコードを追加しました:

<WindowChrome.WindowChrome>
    <WindowChrome GlassFrameThickness="0,0,0,1" CornerRadius="0" />
</WindowChrome.WindowChrome>

内部<Window> paste here <Window/>そしてそれは:)を助けました

4