mike龙 发表于 2013-1-3 15:36:24

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

<div id="cnblogs_post_body">最近项目中要完成一个无框窗体的界面。主要想自己吧窗体做的更漂亮。想zune一样。先来个图。看下是什么样子吧。http://news.open-open.com/lib/uploadImg/20120610/20120610212545_933.png
很漂亮吧。想想用WPF怎么写出这个界面呢?
WindowStyle="None"AllowsTransparency="True" Background="Transparent" ??
这样当然可以做出无框的不规则窗体。但是后来发现如果我的窗体这么弄。窗体中的 Frame 无法正常加载。Frame 透明色。

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


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

看看我的解决思路。

既然 AllowsTransparency="True" 影响性能。那么我就不用了呗。窗体会变成这样。。http://news.open-open.com/lib/uploadImg/20120610/20120610212546_15.png

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

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

窗体的移动:

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

<div class="cnblogs_code">private void MouseLeftButtonDown(object sender, MouseButtonEventArgs e){      this.DragMove();   }
页: [1]
查看完整版本: 关于WPF不规则窗体性能、大小更改