(これはQ&Aスタイルの質問です。私はすでに自分で答えています)
" wpf でカスタム ウィンドウ クロームを作成していますが、それを windowStyle=none に設定すると、
- 窓からクリップ
- ウィンドウをドラッグできない
- ウィンドウがタスクバーを覆っています
"
(これはQ&Aスタイルの質問です。私はすでに自分で答えています)
" wpf でカスタム ウィンドウ クロームを作成していますが、それを windowStyle=none に設定すると、
"
問題を解決する 1
ウィンドウのメイン グリッドに名前でアクセスできるようにします。
<Grid Name="MainGrid">
次に、これらの関数を追加して、ウィンドウの状態が変更されたときにマージンを作成します
void setWinMargin()
{
switch (WindowState)
{
case WindowState.Maximized:
MainGrid.Margin = new Thickness(8, 8, 8, 8);
break;
case WindowState.Normal:
MainGrid.Margin = new Thickness(0, 0, 0, 0);
break;
}
}
private void Window_StateChanged(object sender, EventArgs e)
{
setWinMargin();
}
これはあなたのxamlです
StateChanged="Window_StateChanged"
これにより、すべてが画面の端から離れて見えるようになります。
問題を解決する 2
ウィンドウ内:
<WindowChrome.WindowChrome>
<WindowChrome CaptionHeight="35">
</WindowChrome>
</WindowChrome.WindowChrome>
CaptionHeight をウィンドウ クロムの高さ (ウィンドウをドラッグする場所) にします。
問題を解く 3
windowstate none を使用しないでください。windowchrome を定義するだけで、元のボタン (右側) は消えてしまいます。ボタンは表示されずに残ります。その上にボタンを配置する必要があります。