自定义WPF窗体形状
介绍
你好WPF爱好者。 随着WPF等统一API语言的发明,丰富用户界面变得非常容易。 创建丰富的用户界面只是一个想法。 您需要拥有的是创造性思维和最新技术融合。 WPF和Expression Blend在制作丰富的UI应用程序,清晰的图形和非常好的动画方面非常有用。
背景
我将要发布的是将窗口矩形形状塑造成图像的形状。 它可以是任何图像,任何形状,任何大小,它应该是没有背景的PNG(便携式网络图形)图像(白色背景被移除)。
代码使用
嗯,实现这一点是小菜一碟,但我仍然会提供一个完整的演练过程。
先决条件
- .NET FrameWork 3.0或以上
- Visual Studio 2008或以上
- Adobe Photoshop或者一个图片编辑工具
- 您要使用的图像文件
- XAML相关知识
准备图片文件
- 选择要用作窗体形状的图像文件。
- 在大多数图像编辑工具中,使图像背景自由是一个非常简单的过程,但是,我将为Adobe Photoshop解释它(因为我喜欢该产品)。
- 在Adobe Photoshop中打开图像文件。
- 选择除背景之外的整个图像。
- 复制选择。
- 单击菜单文件>>新建。 这将显示一个对话框。 在对话框的“内容”部分中,选择“透明”,然后单击“确定”。
- 将打开透明背景画布,将图像粘贴到那里并将其另存为PNG文件。
现在我们的图像文件准备就绪,让我们现在塑造我们的WPF表格。
设置WPF应用
- 打开Visual Studio 2008并创建新项目。
- 在Visual C#项目模板下,选择Windows >> WPF应用。
- 使用下面的XAML:
<window title="ShapedWindow" windowstartuplocation="CenterScreen" allowstransparency="True" opacitymask="White" windowstyle="None" background="Transparent" width="620" height="267" xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation x:class="ShapedWPFForm.ShapedWindow"> <grid> <img name="imgBackground" source="Shape.png" stretch="Fill" /> </grid> </window>
所有就完成了
XAML属性解释:
allowstransparency="True"
- 设置窗体透明度。background="Transparent"
- 表明背景是透明的。windowstyle="None"
- 此属性删除标题栏并使窗体无边框。 基本上从窗体中删除所有系统控件。opacitymask="White"
- 此属性使指定的背景颜色不受窗体的影响。
完成,教程完成。 通过这样做,您可以将图像作为窗体形状。 为您的窗体赋予创意。点击下载自定义WPF窗体形状源代码下载
转载于:https://www.cnblogs.com/bruceday/p/9600680.html
自定义WPF窗体形状相关推荐
- Simple WPF:实现一个透明、无边框、鼠标穿透的WPF窗体
WPF 透明窗体和鼠标事件穿透 一个自定义WPF窗体的解决方案,借鉴了吕毅老师的WPF制作高性能的透明背景的异形窗口一文,并在此基础上增加了鼠标穿透的功能.可以使得透明窗体的鼠标事件穿透到下层,在下层 ...
- [转] 使用模板自定义 WPF 控件
[转] 使用模板自定义 WPF 控件 ...
- WPF and Silverlight 学习笔记(六):WPF窗体
一.窗体类 在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类(类型化窗体).定义的窗体由两部分组成: 1.XAML文件 ...
- WPF窗体自适应电脑分辨率的问题
如何解决WPF窗体自适应电脑分辨率 前言 一.DockPanel 二.使用方法 1.引入代码 总结 前言 很多时候做WPF窗体的控件在运行展示的时候会有放大缩小的操作,这时候有些控件或者控件的文本就不 ...
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(自定义色彩、形状)实战
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(自定义色彩.形状)实战 目录 R语言使用ggplot2包geom_jitter()函数绘制分 ...
- 在winform程序中启动wpf窗体
有时候需要在winform程序中利用wpf的许多优良特性,如何在其中启动wpf窗体呢? 前提:MainWindow.xaml是从别的地方copy到这个项目的,值得注意的是,除了MainWindow.x ...
- wpf 锁定计算机vb,wpf 窗体自动关闭
各位高手,本人想写一个程序,点击按钮后的30秒假如窗口没有任何操作,窗口自动关闭.该怎么写?(本人刚学wpf,菜鸟一个请高手赐教)能否给个代码. private void Button_Click(o ...
- 一起谈.NET技术,Visual Studio自定义调试窗体两个小技巧
本文翻译:Few Tips on Customizing Debugging Window View in Visual Studio . 使用DebuggerBrowsable特性可以自定义调试窗体 ...
- 在winform中使用wpf窗体
在winform项目,通过引用dll可以添加WPF窗体,如下 但是如果直接在winform的项目中添加wpf窗体还是有部分问题,图片的显示. 直接在XAML界面中用Source属性设置图片会出现错误. ...
最新文章
- 多屏互动电脑版_MAXHUB无线双频同屏器HDMI连接投影仪手机电视机笔记本电脑投屏器多屏互动 MAXHUB传屏盒子WB01标配2个无线传屏...
- 【星球知识卡片】模型剪枝有哪些关键技术,如何对其进行长期深入学习
- Python基础入门:3种字符串格式化方法教程
- java不同项目加token访问_实战:你用SpringBoot集成JWT来实现一下token验证,可否?...
- SAP Spartacus cms页面请求的语言参数
- Add a All Document Folder
- Python:Sklearn概述
- Matplotlib Line2D设置
- diybox路由器设置教程_家庭无线路由器怎么设置 家庭无线路由器设置教程【详细方法】...
- pcl 使用gpu计算法向量_PCL点云特征描述与提取(1)
- JAVA EE常见英文单词(一)
- 机器人肖恩百度云网盘_《探险活宝遥远国度》百度云(全4集完结版)网盘资源【1080p】完整无删减资源共享...
- python获取outlook邮件内容_Python3读取Outlook邮件并写入MySQL
- 我参加NVIDIA Sky Hackathon 环境安装(编程环境)
- 混沌序列加密matlab,基于三维Lorenz混沌系统和Matlab仿真工具实现混沌数字视频加密...
- 简单实现Linux下线程池
- Nexus 3.31.1 maven 私服 服务器配置篇 linux
- 净亏损同比扩大162%,万国数据能否学到Equinix的增长秘诀?
- 24 前 K 个高频元素
- 【计算摄影】浅析图像修复背后的核心技术