基于WPF的酷炫GUI窗口的简易实现

2016-11-07 21:48:51来源:CSDN作者:llmmll08人点击

第七城市

本文要实现基于WPF的酷炫GUI窗口,力图实现一个真正可用且实用的GUI窗口。
本文要实现的效果如图所示:

最终效果

效果总结如下:

  • 无标题栏,或自定义标题栏
  • 窗口的半透明效果
  • 窗口可自由拖拽
  • Enter以及Esc等默认按键
  • 右键菜单

1. 窗口的效果实现

1.1 窗口外观相关

首先新建一个窗口,更改外观,对窗口的属性进行如下设置:

  1. 外观设置中,”AllowsTransparency”复选框勾选上,该窗口就可以透明化,同时”WindowStyle”会自动变更为”None”,窗口的默认标题栏会消失,此时可以选择自定义标题栏。
  2. 窗口允许透明化后,在”Background”、”BorderBrush”等选项中,对窗体的背景及边框颜色进行设置。可以设置为纯色或各种渐变形态以及各种透明形态。
  3. 使用”BorderThickness”项设置窗体的边框宽度。
  4. “Opacity”设置整个界面的不透明度

设置界面如下图所示:

这里写图片描述

1.2 窗口大小位置相关

更改窗口的位置,对如下属性进行设置:

  1. WindowStartupLocation:修改窗口打开时的位置
  2. WindowState:修改窗口打开时的大小状态,可设置全屏窗口
  3. Topmost:本窗口置顶
  4. Width和Height:窗口打开时的尺寸
  5. MinWidth和MinHeight:窗口的最小尺寸

2. 方便对窗口操作的功能实现

为方便对窗口的操作,可进行如下设置:

  1. 设置某个button的属性,设置IsCancel和IsDefault属性,可设置Enter和Esc键所触发的按钮。
  2. 设置拖动窗口的任意位置均可拖拽窗口,可设置窗口的事件调用函数,设置MouseLeftButtonDown事件的调用函数。
    这里写图片描述
    设置的函数如下:

    private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){    DragMove();}
  3. 点击关闭按钮时结束整个应用程序,可设置关闭事件的回调方法,也可设置按钮点击事件的方法,如下:

    private void btnExit_Click(object sender, RoutedEventArgs e){    Environment.Exit(0);}
  4. 实现窗口的右键菜单及其点击事件,需要设置窗口的”ContextMenu”属性,或在xaml文件中,添加如下内容:

    <Window.ContextMenu>        <ContextMenu Name="ChangePassword">            <MenuItem Header="修改登录密码"                      Click="MenuItemChangePassword_Click" />            <MenuItem Header="关于"                      Click="MenuItemAbout_Click" />        </ContextMenu>    </Window.ContextMenu>
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台