基於 WPF 的酷炫 GUI 窗口的簡易實現

「博客搬家」 原地址: CSDN 原發表時間: 2016-11-07bash

本文要實現基於 WPF 的酷炫 GUI 窗口,力圖實現一個真正可用且實用的 GUI 窗口。佈局

本文要實現的效果如圖所示:spa

最終效果

效果總結以下:.net

  • 無標題欄,或自定義標題欄
  • 窗口的半透明效果
  • 窗口可自由拖拽
  • Enter 以及 Esc 等默認按鍵
  • 右鍵菜單

1. 窗口的效果實現

1.1 窗口外觀相關

首先新建一個窗口,更改外觀,對窗口的屬性進行以下設置:3d

  • 外觀設置中 , 「AllowsTransparency」複選框勾選上,該窗口就能夠透明化,同時「WindowStyle」會自動變動爲「None」, 窗口的默認標題欄會消失,此時能夠選擇自定義標題欄。code

  • 窗口容許透明化後,在「Background」、「BorderBrush」等選項中,對窗體的背景及邊框顏色進行設置。能夠設置爲純色或各類漸變形態以及各類透明形態。cdn

  • 使用「BorderThickness」項設置窗體的邊框寬度。xml

  • 「Opacity」設置整個界面的不透明度blog

設置界面以下圖所示:事件

窗口布局設置頁面

1.2 窗口大小位置相關

更改窗口的位置,對以下屬性進行設置:

  • WindowStartupLocation:修改窗口打開時的位置
  • WindowState:修改窗口打開時的大小狀態,可設置全屏窗口
  • Topmost:本窗口置頂
  • Width和Height:窗口打開時的尺寸
  • MinWidth和MinHeight:窗口的最小尺寸

2. 方便對窗口操做的功能實現

爲方便對窗口的操做,可進行以下設置:

  • 設置某個 button 的屬性,設置 IsCancel 和 IsDefault 屬性,可設置 Enter 和 Esc 鍵所觸發的按鈕。

  • 設置拖動窗口的任意位置都可拖拽窗口,可設置窗口的事件調用方法,設置 MouseLeftButtonDown 事件的調用方法。

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>
複製代碼
相關文章
相關標籤/搜索