介绍

你好WPF爱好者。 随着WPF等统一API语言的发明,丰富用户界面变得非常容易。 创建丰富的用户界面只是一个想法。 您需要拥有的是创造性思维和最新技术融合。 WPF和Expression Blend在制作丰富的UI应用程序,清晰的图形和非常好的动画方面非常有用。

背景

我将要发布的是将窗口矩形形状塑造成图像的形状。 它可以是任何图像,任何形状,任何大小,它应该是没有背景的PNG(便携式网络图形)图像(白色背景被移除)。

代码使用

嗯,实现这一点是小菜一碟,但我仍然会提供一个完整的演练过程。

先决条件

  1. .NET FrameWork 3.0或以上
  2. Visual Studio 2008或以上
  3. Adobe Photoshop或者一个图片编辑工具
  4. 您要使用的图像文件
  5. XAML相关知识

准备图片文件

  1. 选择要用作窗体形状的图像文件。
  2. 在大多数图像编辑工具中,使图像背景自由是一个非常简单的过程,但是,我将为Adobe Photoshop解释它(因为我喜欢该产品)。
  3. 在Adobe Photoshop中打开图像文件。
  4. 选择除背景之外的整个图像。
  5. 复制选择。
  6. 单击菜单文件>>新建。 这将显示一个对话框。 在对话框的“内容”部分中,选择“透明”,然后单击“确定”。
  7. 将打开透明背景画布,将图像粘贴到那里并将其另存为PNG文件。

现在我们的图像文件准备就绪,让我们现在塑造我们的WPF表格。

设置WPF应用

  1. 打开Visual Studio 2008并创建新项目。
  2. 在Visual C#项目模板下,选择Windows >> WPF应用。
  3. 使用下面的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属性解释:

  1. allowstransparency="True" - 设置窗体透明度。
  2. background="Transparent" - 表明背景是透明的。
  3. windowstyle="None" - 此属性删除标题栏并使窗体无边框。 基本上从窗体中删除所有系统控件。
  4. opacitymask="White" - 此属性使指定的背景颜色不受窗体的影响。

完成,教程完成。 通过这样做,您可以将图像作为窗体形状。 为您的窗体赋予创意。点击下载自定义WPF窗体形状源代码下载

转载于:https://www.cnblogs.com/bruceday/p/9600680.html

自定义WPF窗体形状相关推荐

  1. Simple WPF:实现一个透明、无边框、鼠标穿透的WPF窗体

    WPF 透明窗体和鼠标事件穿透 一个自定义WPF窗体的解决方案,借鉴了吕毅老师的WPF制作高性能的透明背景的异形窗口一文,并在此基础上增加了鼠标穿透的功能.可以使得透明窗体的鼠标事件穿透到下层,在下层 ...

  2. [转] 使用模板自定义 WPF 控件

      [转] 使用模板自定义 WPF 控件                                                                                 ...

  3. WPF and Silverlight 学习笔记(六):WPF窗体

    一.窗体类 在Visual Studio和Expression Blend中,自定义的窗体均继承System.Windows.Window类(类型化窗体).定义的窗体由两部分组成: 1.XAML文件 ...

  4. WPF窗体自适应电脑分辨率的问题

    如何解决WPF窗体自适应电脑分辨率 前言 一.DockPanel 二.使用方法 1.引入代码 总结 前言 很多时候做WPF窗体的控件在运行展示的时候会有放大缩小的操作,这时候有些控件或者控件的文本就不 ...

  5. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(自定义色彩、形状)实战

    R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(自定义色彩.形状)实战 目录 R语言使用ggplot2包geom_jitter()函数绘制分 ...

  6. 在winform程序中启动wpf窗体

    有时候需要在winform程序中利用wpf的许多优良特性,如何在其中启动wpf窗体呢? 前提:MainWindow.xaml是从别的地方copy到这个项目的,值得注意的是,除了MainWindow.x ...

  7. wpf 锁定计算机vb,wpf 窗体自动关闭

    各位高手,本人想写一个程序,点击按钮后的30秒假如窗口没有任何操作,窗口自动关闭.该怎么写?(本人刚学wpf,菜鸟一个请高手赐教)能否给个代码. private void Button_Click(o ...

  8. 一起谈.NET技术,Visual Studio自定义调试窗体两个小技巧

    本文翻译:Few Tips on Customizing Debugging Window View in Visual Studio . 使用DebuggerBrowsable特性可以自定义调试窗体 ...

  9. 在winform中使用wpf窗体

    在winform项目,通过引用dll可以添加WPF窗体,如下 但是如果直接在winform的项目中添加wpf窗体还是有部分问题,图片的显示. 直接在XAML界面中用Source属性设置图片会出现错误. ...

最新文章

  1. 多屏互动电脑版_MAXHUB无线双频同屏器HDMI连接投影仪手机电视机笔记本电脑投屏器多屏互动 MAXHUB传屏盒子WB01标配2个无线传屏...
  2. 【星球知识卡片】模型剪枝有哪些关键技术,如何对其进行长期深入学习
  3. Python基础入门:3种字符串格式化方法教程
  4. java不同项目加token访问_实战:你用SpringBoot集成JWT来实现一下token验证,可否?...
  5. SAP Spartacus cms页面请求的语言参数
  6. Add a All Document Folder
  7. Python:Sklearn概述
  8. Matplotlib Line2D设置
  9. diybox路由器设置教程_家庭无线路由器怎么设置 家庭无线路由器设置教程【详细方法】...
  10. pcl 使用gpu计算法向量_PCL点云特征描述与提取(1)
  11. JAVA EE常见英文单词(一)
  12. 机器人肖恩百度云网盘_《探险活宝遥远国度》百度云(全4集完结版)网盘资源【1080p】完整无删减资源共享...
  13. python获取outlook邮件内容_Python3读取Outlook邮件并写入MySQL
  14. 我参加NVIDIA Sky Hackathon 环境安装(编程环境)
  15. 混沌序列加密matlab,基于三维Lorenz混沌系统和Matlab仿真工具实现混沌数字视频加密...
  16. 简单实现Linux下线程池
  17. Nexus 3.31.1 maven 私服 服务器配置篇 linux
  18. 净亏损同比扩大162%,万国数据能否学到Equinix的增长秘诀?
  19. 24 前 K 个高频元素
  20. 【计算摄影】浅析图像修复背后的核心技术

热门文章

  1. Andriod使用webview控件往APP里内嵌网页
  2. 一.vtun源码学习笔记
  3. C# 3.0 —— 扩展方法
  4. Linux14-进程的优先级nice
  5. jpg在线合并jpg_JPG如何运作
  6. 怎么读取java文件,Java怎么读取文件
  7. python 桑基图 地理坐标_【转载】Python数据可视化-实现Sankey桑基图
  8. 图卷积神经网络(GCN)入门
  9. UI设计学习的对比原则怎么运用?
  10. Delphi下利用WinIo模拟鼠标键盘详解