IT分享网

搜索
热搜: 活动 交友 discuz
查看: 899|回复: 0

[知识点] 在WPF中实现程序窗口最大化、最小化、关闭和拖动

[复制链接]
发表于 2017-1-22 02:02:09 | 显示全部楼层 |阅读模式
  最近在用Expression Blend做WPF的开发,主要负责界面部分,想去除默认的窗口边框,同时使用自定义的最小化、最大化、关闭按钮。大概是程序员们觉得这个东西太简单,在网上搜了很久都没看到有用的教程。其实我只是想实现一个交互效果而已…………
  去除默认的窗口边框很简单,在BLEND中选中最外层的那个Main_Window

b9a7309796b70a97e6fa508da17406da.jpg
  然后在右边“外观”中勾选AllowsTransparency,WindowStyle那里选择“none”,即可。

8febf0524e876f372b22bf3cd6f5fc13.jpg
  不过这样的话,打开后的程序是没有投影的,有时出于美观的考虑需要给运行的窗口加上一点点投影,这样的话,需要首先设置边框的宽度,然后把边框颜色设置为透明,然后再加上投影滤镜。否则投影就看不到了。
  接下来,实现最大化、最小化、关闭、拖动的效果。
  这些做法都不难,选中要作为最大化的那个按钮,然后在属性中选择事件模式,双击一下“MouseLeftButtonDown”,就会跳转到事件编辑界面,在“// 在此处添加事件处理程序实现。”这段提示前面加入相关的代码:
  如果是最小化,就加上:this.WindowState = WindowState.Minimized;
  如果是最大化,就加上:this.WindowState = WindowState.Maximized;
  如果是关闭,就加上:this.Close();
  如果要实现拖动效果,就加上:this.DragMove();
  太复杂的不太懂,如果就实现简单的交互效果的话,应该是够用了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2019-10-19 08:22 , Processed in 0.531250 second(s), 35 queries .

  

QQ|Archiver|手机版|小黑屋|IT分享网 ( 苏ICP备15049123号-2 )  

GMT+8, 2019-10-19 08:22 , Processed in 0.531250 second(s), 35 queries .

Powered by Discuz! X3.2 Designed by 999test.cn

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表