我正在創建一個WPF應用程序,並希望我的窗口無邊界,並且還可以調整大小只有頂部。如何從頂部調整無邊界窗口的大小?
我已經試過到目前爲止
我最初以爲這會工作:
<Window x:Class="WpfApplication3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Width="200" Height="150" WindowStyle="None" ResizeMode="CanResize" AllowsTransparency="True" BorderThickness="0,5,0,0" BorderBrush="Black"> <Grid Background="Gray" /> </Window>
我做得到只頂部邊框的窗口,但我無法調整它的大小。
然後我試圖
WindowChrome.ResizeGripDirection="Top"
與ResizeMode="CanResizeWithGrip"
。<Window ... WindowStyle="None" ResizeMode="CanResizeWithGrip" AllowsTransparency="True" WindowChrome.ResizeGripDirection="Top" BorderThickness="0,5,0,0" BorderBrush="Black"> ... </Window>
這也不起作用(無法從頂部邊框調整大小),並且抓地力甚至不出現在頂部。它停留在右下角(我可以用調整的大小)。
This answer好像回答者可以開始這樣做了,但代碼是不可用的。
- This answer有一個鏈接到blog post,我不太想嘗試它,因爲我想要一個沒有代碼的解決方案。
再有就是this answer:
我得到一個錯誤,用這種方法:
<Window ... WindowStyle="None" ResizeMode="CanResizeWithGrip" AllowsTransparency="False"> <Grid Background="Gray" /> <Setter Property="WindowChrome.WindowChrome"> <Setter.Value> <WindowChrome CornerRadius="0" GlassFrameThickness="1" UseAeroCaptionButtons="False"/> </Setter.Value> </Setter> </Window>
屬性 '內容' 設置不止一次。
隨着後面的代碼:
<Window ... WindowStyle="None" ResizeMode="CanResize" AllowsTransparency="False"> <Grid Background="Gray" /> </Window>
在構造函數中:
WindowChrome chrome = new WindowChrome(); chrome.CornerRadius = new CornerRadius(0); chrome.GlassFrameThickness = new Thickness(0, 1, 0, 0); chrome.UseAeroCaptionButtons = false;
這給了我:
而這可能會從所有的方向調整秒。而我只有希望它能夠從頂部調整大小。 (驚奇:我甚至沒有把任何東西都分配給新的
chrome
對象,這是如何工作的?這是我猜測的另一個問題)。
問題
我如何做一個無國界窗口可以只與上邊框被調整? (最好的做法是隻用可以更改顏色的頂部邊框。