WPF教程

实现WPF不规则窗体--WPF教程

时间:2013-7-23 22:22:37  作者:WPF之家  来源:http://www.wpf123.com  查看:2647  评论:0
内容摘要: 实现WPF不规则窗体的三种常用的方法如下:1.使用Blend等工具绘制一个不规则xaml,然后作为窗体的背景。这个可以参考xiaowei0705的这篇博文:WPF制作不规则的窗体 。2.给window的Clip属性赋Path值。这个可以参考DebugLZQ前...

 

实现WPF不规则窗体的三种常用的方法如下:


1.使用Blend等工具绘制一个不规则xaml,然后作为窗体的背景。这个可以参考xiaowei0705的这篇博文:WPF制作不规则的窗体 。


2.给window的Clip属性赋Path值。这个可以参考DebugLZQ前面的博文:WPF Effect Clip以及Transform 


3.使用透明背景的PNG图像。本文将要讲述。


本文将要讲述的这种方法,可以说一点技术含量都没有,基本不用动手编写代码。前提是你得有合适的透明背景的PNG图像。


我们假设你已经完成了PNG图像的制作(当然为了演示的话,down一个也行),那么这个不规则窗体实现如下:

<Window x:Class="WPFSharpWindow.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="MainWindow" Height="412" Width="528"         AllowsTransparency="True" WindowStyle="None" OpacityMask="White" Background="Transparent">    <Grid MouseLeftButtonDown="Grid_MouseLeftButtonDown">        <Image Stretch="Fill" Source="/WPFSharpWindow;component/cow.png" />    </Grid></Window>

解释下这个xaml需要注意的属性设置:

allowstransparency="True" - 允许透明

background="Transparent" - 设置背景透明

windowstyle="None" - 去掉边框

opacitymask="White" - 设置白色透明

为Gird订阅的MouseLeftButtonDown路由事件,是为了实现窗体的拖动。事件处理如下:

private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e){   this.DragMove();}

标签:实现 不规则 规则 wpf 

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。本文出自“wpf之家”,请务必保留此出处:http://www.wpf123.com

相关评论
Copyright © 2009-2014 WPF之家(http://www.wpf123.com/) All rights reserved
 Powered by WPF之家
鄂ICP备13006396号