私はボーダーレスウィンドウを作成しようとしました WindowStyle="None"
が、テストしたところ、上部に白いバーが表示されたようです。調査の結果、「ボーダーのサイズ変更」のように見えます。ここに画像があります(黄色でマークしました)。
インターネットでのいくつかの調査、および多くの難しい非XAMLソリューションの後、私が見つけたすべてのソリューションはC#のコードビハインドと多くのコード行であり、間接的にここでソリューションを見つけました: 最大カスタムウィンドウはドロップシャドウ効果を失います
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
注意 :.NET 4.5フレームワークを使用する必要があります。または、古いバージョンを使用している場合はWPFShellを使用し、シェルを参照してShell:WindowChrome.WindowChrome
代わりに使用してください。
私WindowChrome
はWindow のプロパティを使用しましたが、これを使用すると、白い「サイズ変更枠」が消えますが、正しく機能するためにいくつかのプロパティを定義する必要があります。
CaptionHeight:これは、通常のタイトルバーと同じように、Aeroスナップ、ダブルクリック動作を可能にするキャプション領域(ヘッダー)の高さです。ボタンを機能させるには、これを0(ゼロ)に設定します。
ResizeBorderThickness:これは、ウィンドウのサイズを変更できるウィンドウの端の厚さです。私はその数が好きで、ゼロを入れるとウィンドウのサイズを変更するのが難しいので、5にしました。
この短いコードを使用すると、結果は次のようになります。
そして今、使用せずに白い境界線が消えました ResizeMode="NoResize"
とAllowsTransparency="True"
、ウィンドウに影が表示されます。
後で、ボタンを操作する方法(ボタンに画像を使用しなかった)を簡単で短いコードで簡単に説明します。新しいので、コードプロジェクトに投稿できると思います。チュートリアルを投稿します。
たぶん別の解決策があります(私のような初心者には難しい解決策があることは知っています)が、これは私の個人的なプロジェクトには有効です。
ここに完全なコードがあります
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Concursos"
mc:Ignorable="d"
Title="Concuros" Height="350" Width="525"
WindowStyle="None"
WindowState="Normal"
ResizeMode="CanResize"
>
<WindowChrome.WindowChrome>
<WindowChrome
CaptionHeight="0"
ResizeBorderThickness="5" />
</WindowChrome.WindowChrome>
<Grid>
<Rectangle Fill="#D53736" HorizontalAlignment="Stretch" Height="35" VerticalAlignment="Top" PreviewMouseDown="Rectangle_PreviewMouseDown" />
<Button x:Name="Btnclose" Content="r" HorizontalAlignment="Right" VerticalAlignment="Top" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
<Button x:Name="Btnmax" Content="2" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,0,35,0" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
<Button x:Name="Btnmin" Content="0" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,0,70,0" Width="35" Height="35" Style="{StaticResource TempBTNclose}"/>
</Grid>
ありがとうございました!