「博客搬家」 原地址: CSDN 原發表時間: 2016-11-07bash
本文要實現基於 WPF 的酷炫 GUI 窗口,力圖實現一個真正可用且實用的 GUI 窗口。佈局
本文要實現的效果如圖所示:spa
效果總結以下:.net
首先新建一個窗口,更改外觀,對窗口的屬性進行以下設置:3d
外觀設置中 , 「AllowsTransparency」複選框勾選上,該窗口就能夠透明化,同時「WindowStyle」會自動變動爲「None」, 窗口的默認標題欄會消失,此時能夠選擇自定義標題欄。code
窗口容許透明化後,在「Background」、「BorderBrush」等選項中,對窗體的背景及邊框顏色進行設置。能夠設置爲純色或各類漸變形態以及各類透明形態。cdn
使用「BorderThickness」項設置窗體的邊框寬度。xml
「Opacity」設置整個界面的不透明度blog
設置界面以下圖所示:事件
更改窗口的位置,對以下屬性進行設置:
爲方便對窗口的操做,可進行以下設置:
設置某個 button 的屬性,設置 IsCancel 和 IsDefault 屬性,可設置 Enter 和 Esc 鍵所觸發的按鈕。
設置拖動窗口的任意位置都可拖拽窗口,可設置窗口的事件調用方法,設置 MouseLeftButtonDown 事件的調用方法。
設置的方法以下:
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DragMove();
}
複製代碼
點擊關閉按鈕時結束整個應用程序,可設置關閉事件的回調方法,也可設置按鈕點擊事件的方法,以下:
private void btnExit_Click(object sender, RoutedEventArgs e)
{
Environment.Exit(0);
}
複製代碼
實現窗口的右鍵菜單及其點擊事件,須要設置窗口的「ContextMenu」屬性,或在 Xaml 文件中,添加以下內容:
<Window.ContextMenu>
<ContextMenu Name="ChangePassword">
<MenuItem Header="修改登陸密碼" Click="MenuItemChangePassword_Click" />
<MenuItem Header="關於" Click="MenuItemAbout_Click" />
</ContextMenu>
</Window.ContextMenu>
複製代碼