[英]make custom window chrome with wpf
(這是一個問答式的問題,我自己已經回答過了)
“我正在 wpf 中制作自定義 window 鍍鉻,但是當我將其設置為 windowStyle=none 時
"
解決問題1
使 window 中的主網格可以按名稱訪問:
<Grid Name="MainGrid">
然后添加這些函數以在窗口的 state 更改時創建邊距
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
在您的 window 內部:
<WindowChrome.WindowChrome>
<WindowChrome CaptionHeight="35">
</WindowChrome>
</WindowChrome.WindowChrome>
使 CaptionHeight 成為您的 window 鉻的高度,您希望 window被拖動
解決問題3
不要使用windowstate none,只需定義windowchrome,原來的按鈕就會消失,按鈕(在右側)仍然存在,只是不可見,所以你必須把按鈕放在它們上面
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.