六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 338|回复: 0

关于WPF不规则窗体性能、大小更改

[复制链接]

升级  36%

30

主题

30

主题

30

主题

秀才

Rank: 2

积分
104
 楼主| 发表于 2013-1-3 15:36:24 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">最近项目中要完成一个无框窗体的界面。主要想自己吧窗体做的更漂亮。想zune一样。先来个图。看下是什么样子吧。
很漂亮吧。想想用WPF怎么写出这个界面呢?
WindowStyle="None"  AllowsTransparency="True" Background="Transparent" ??
这样当然可以做出无框的不规则窗体。但是后来发现如果我的窗体这么弄。窗体中的 Frame 无法正常加载。Frame 透明色。

经过查资料,知道了其中道理。这里就不详细写了。不光是这个。如果 窗体的 AllowsTransparency="True"  的话,你要是想在窗体中使用一些动画什么的。那么 动画的效率会非常的低。根本无法忍受。。.net 4.0 这个问题还存在。不知道4.5有没有解决。


到这里我就崩溃了。难道不能写出类似的?不会吧。

看看我的解决思路。

既然 AllowsTransparency="True" 影响性能。那么我就不用了呗。窗体会变成这样。。

这不是我们要的效果。 窗体旁边的边框怎么办? ResizeMode="NoResize" 解决问题。

但是问题又来了。 窗体怎么移动?大小如何更改。下面来说解决方案。

窗体的移动:

这个比较简单。 在上面自己绘制的标题栏 注册MouseLeftButtonDown 事件。

<div class="cnblogs_code">private void MouseLeftButtonDown(object sender, MouseButtonEventArgs e)  {        this.DragMove();   }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

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