Blend for Visual Studio 让XAML也可以像WinForm一样可视化设计,Blend 与Studio的区别

news2024/11/22 0:03:47

1.Blend独有的高级功能

任务Visual StudioBlend for Visual Studio更多信息
设计可视状态没有可帮助你设计可视状态的工具;必须以编程方式创建它们。使用设计工具可基于其状态更改控件的外观。
创建动画没有用于动画的设计工具;必须以编程方式创建它们。 这需要对 WPF 中的动画和时间系统的了解以及丰富的编码专业知识。可直观地创建动画,并且可以在 Blend for Visual Studio 中预览它们。 这比采用代码构建动画更快且更精确。 可以添加触发器以处理用户交互,并且可以切换到代码以添加事件处理程序和其他功能。动态显示对象
将形状和文本转换为路径以便更容易地操作不支持。可以通过将形状(如矩形和椭圆)转换为路径(这样可提供更好的编辑控制)来对形状进行细微或显著的更改。可以重新调整路径形状或合并路径,以及从多个形状创建复合路径。还可以将文本块转换为路径以便将它们作为矢量图像进行操作。绘制形状和路径
编辑控件、模板和样式需要 WPF 样式和模板方面的编码和知识。将任何图像转换为控件。使用模板编辑工具,只需少量鼠标单击便可对控件、样式和模板进行更改。例如,可以使用 Blend for Visual Studio 样式资源实现常用 WPF 控件(如按钮、列表框、滚动条、菜单等)并直接在 Blend for Visual Studio 中更改其颜色、样式或基础模板。 如果需要,随后可以切换到代码以完成收尾工作。修改对象样式
将 UI 界面连接到数据可以从资源(如 SQL Server 数据库、WCF 或 Web 服务、对象或 SharePoint 列表)创建数据源,然后将数据源绑定到 UI 控件。必须手动创建设计时数据来获得交互设计体验。对于 .NET Framework 应用,可轻松地为原型制作和测试创建示例数据。 在准备就绪时切换到实时数据。Blend for Visual Studio 的数据生成功能十分出色(可以轻松地动态添加名称、数字、URL 和照片),可以节省大量时间。对于实时数据,可以将 UI 控件绑定到 XML 文件或任何 CLR 数据源。显示数据

2.Blend与studio通用功能

对于最基本的开发任务,Visual Studio 和 Blend for Visual Studio 共享一组相同的窗口和功能(其中有一些细微的差异)。 部分亮点包括:
IntelliSense: 两个 IDE 都支持 IntelliSense 功能,如语句结束。

调试: 可以在 Visual Studio 和 Blend for Visual Studio 中调试,包括在代码中设置断点以调试正在运行的应用以及使用热重载在应用程序运行时更改 XAML 代码。 为了保持与 Visual Studio 一致的调试体验,Blend for Visual Studio 包含 Visual Studio 的大多数调试窗口和工具栏。

文件重载: 可以在 Visual Studio 或 Blend for Visual Studio 中编辑 XAML 文件。 在 IDE 之间切换时,将自动重载已保存的编辑文件。 可以通过在任意 IDE 中导航到“工具”>“选项”>“环境”>“文档”来控制重载行为。

已同步的布局和设置: 使用相同的个性化帐户登录时,设计跨设备和版本同步 Visual Studio 或 Blend for Visual Studio 的自定义工具窗口布局和设置首选项。 请参见跨多台计算机同步设置。

3.Blend XAML 设计器

3.1绘制形状和路径

XAML 设计器中,“形状”正是你所期望的内容。 例如:矩形、圆或椭圆。 路径 是更加灵活的形状版本。 你可以执行某些操作,如重新调整它们的形状,或将它们合并在一起以形成新形状。

形状和路径使用矢量图形,因此它们可很好地按高分辨率显示进行缩放。

3.2 绘制形状

在“资产”窗口中查找形状。
在这里插入图片描述
将所需的任何形状拖到美工板上。 然后,使用形状的图柄缩放、旋转、移动或扭曲形状。

在这里插入图片描述
Blend 使得xaml像winform一样可视化设计

3.3绘制路径

路径是一系列连接的直线和曲线。 使用路径可创建“资产”窗口中未提供的有趣形状。

可以使用线条、笔或铅笔绘制路径。 可以在“工具”窗口中找到这些工具。

3.4绘制直线

使用“”工具或“线条”工具。

使用“”工具

在美工板上,单击一次以定义开始点,然后再次单击以定义线条末尾。

使用“线条”工具

在美工板上,从所需线条起始位置处拖动,然后在所需线条结束位置处释放。

3.5 绘制曲线

使用“``笔`”工具。

在美工板上,单击一次以定义线条的起点,然后单击并拖动指针以创建所需的曲线。

如果要闭合路径,请单击线条上的第一个点。

3.6 更改曲线的形状

使用“路径选择”工具。

单击形状,然后拖动形状上的任何点以更改曲线形状。

3.7 绘制任意形状的路径

使用“铅笔”工具。

在美工板上,如同使用真正的铅笔一样绘制任意形状的路径。

3.8 删除路径的一部分

使用“路径选择”工具。

选择包含要删除的段的路径,然后单击“删除” 按钮。

3.9 删除路径中的点

使用“选择”工具,以选中路径。 然后,使用“”工具,以单击想要删除的点。

3.10 向路径添加点

使用“选择”工具,以选中路径。 使用“”工具,以单击想要在其中添加点的路径上的任意位置。

3.11 将形状转换为路径

若要采用与修改路径相同的方式来修改形状,请将形状转换为路径。 选择形状,然后选择“格式”>“路径”>“转换为路径”。

备注

“转换为路径”当前不适用于 TargetPlatformVersion 至少为 10.0.16299.0 或更高版本的 UWP 应用。

3.12 合并路径

可以将路径和形状合并到单个路径中。
在这里插入图片描述
在这里插入图片描述

3.13 创建复合路径

创建复合路径时,会从结果中减去路径的任何相交部分,生成的路径会采取最底部路径的视觉属性。

可以在创建之后随时分离复合路径。
在这里插入图片描述

3.14 创建剪切路径

在这里插入图片描述

4. Blend 修改对象的样式

如果你希望重复使用设置或设置组,请创建可重复使用的资源。 这可以是样式、模板或如自定义颜色一样简单的对象。 还可以使控件基于其状态以不同方式出现。 例如,按钮在用户单击它时变为绿色。

4.1 画笔:修改对象的外观

如果要更改对象外观,请向它应用画笔。

4.2 在对象上绘制重复图像或图案

可使用平铺画笔在对象上绘制重复图像或图案。

若要创建平铺画笔,请首先创建图像画笔、图形画笔或视觉画笔资源。

使用图像创建图像画笔。 下图显示图像画笔、平铺的图像画笔和翻转的图像画笔。

在这里插入图片描述
使用矢量图形(如路径或形状)创建图形画笔。 下图显示图形画笔、平铺的图形画笔和翻转的图形画笔。
在这里插入图片描述

通过控件(如按钮)创建视觉画笔。 下图显示视觉画笔和平铺的视觉画笔。
在这里插入图片描述

4.3 样式和模板:跨控件创建一致的外观

可以一次性设计控件的外观和行为,然后将该设计应用于其他控件,以便不必分别进行维护。

是否应使用样式?:如果只是想设置默认属性(如按钮的颜色),请使用样式。 即使在应用了样式之后,也可以修改控件。

是否应使用模板?:如果想要更改控件的结构,请使用模板。 假设将图形或徽标转换为按钮。 在向控件应用模板之后,无法修改控件。

4.4 创建模板或样式

可通过两种方法创建模板。 可以将美工板上的任何对象转换为控件,也可以使模板基于现有控件。

若要将任何对象转换为控件模板,请选择对象,然后在“工具”菜单上,选择“构成控件”。

如果想要使模板基于现有控件,请选择美工板上的对象。 然后,在美工板顶部,选择痕迹导航按钮,选择“编辑模板”,然后选择“编辑副本”或“创建空白项”。
在这里插入图片描述

若要创建样式,请选择对象,在“对象”菜单上选择“编辑样式”,然后选择“编辑副本”或“创建空白项”。

  • 选择“编辑副本”可从控件的默认样式或模板开始。

  • 选择“创建空白项”可从头开始。

仅当编辑已创建的样式或模板时,“编辑当前形状”选项才会出现。 对于仍在使用默认系统模板的控件,它不会出现。

在“创建样式资源”对话框中,可以命名样式或模板以便可以在以后使用它,也可以将样式或模板应用于该类型的所有控件。
在这里插入图片描述

备注

不能为控件的每种类型都创建样式或模板。 如果控件不支持它们,则痕迹导航按钮不会出现在美工板上方。 若要返回到主文档的编辑范围,请单击“返回”范围。

4.5 将样式或模板应用于控件

在对象和时间线窗口中右键单击某个对象,选择“编辑模板”,然后选择“应用资源”。
在这里插入图片描述

4.6 还原控件的默认样式或模板

选择控件,然后在 “属性”窗口中找到 “样式 ”或 “模板 ”属性。 选择“高级选项”,然后在快捷菜单上单击“重置”。

5.可视状态

使用可视状态,可以基于其状态更改控件的外观。 控件可以基于用户交互而具有不同的视觉外观。 例如,可以在用户单击时使按钮变为绿色,也可以运行动画。 可使用过渡缩短或延长可视状态之间的时间。
在这里插入图片描述

6 资源:创建颜色、样式和模板,并在以后重复使用它们

可以将项目中的几乎所有对象转换为资源。 资源只是可以在应用程序中的不同位置重复使用的对象。 例如,可以一次性创建一种颜色,使它成为资源,然后在多个对象上使用该颜色。 若要更改所有这些对象的颜色,只需更改该颜色资源。
在这里插入图片描述

7.在 XAML 设计器中动态显示对象

通过 Blend for Visual Studio 可以轻松地创建移动对象或使它们淡入淡出等的简短动画。

若要创建动画,你需要情节提要。 情节提要包含一个或多个 时间线。 在时间线上设置 关键帧 以标记属性更改。 随后在运行动画时,Blend for Visual Studio 将在指定时间段内插入属性更改。 这样便可实现平滑过渡。 可以对属于对象的任何属性(甚至非可视属性)进行动画处理。

下图显示了一个名为“Storyboard1” 的情节提要。 时间线包含标记矩形的 X 和 Y 位置的关键帧。 当此动画运行时,矩形平滑地从一个位置移动到另一个位置。
在这里插入图片描述

7.1 创建动画

  1. 若要创建情节提要,请在“对象和时间线”窗口中选择“情节提要选项”按钮,然后选择“新建”。

在这里插入图片描述

  1. 在“创建情节提要资源”对话框中,输入情节提要的名称。

  2. 在设计视图的“资产”面板中,将一个矩形添加到页面的左下角。

在这里插入图片描述

  1. 在“对象和时间线”窗口中,将黄色时间指针移动到 3 秒处。

在这里插入图片描述

  1. 在页面的设计视图中,将矩形拖到页面的右侧。
  2. 按“播放”,观看矩形从页面左侧移动到页面右侧。在不同的时间点对矩形进行其他更改。 例如,可以在“属性”窗口中更改填充颜色或翻转方向。

8.在 Blend for Visual Studio 中显示数据

自定义页面的布局时,可以在设计器中查看示例数据。 可以从头开始或使用现有类生成示例数据。 也可以连接到在连接到应用时出现在应用中的实时数据。

备注

Blend 中的“数据”面板仅对于面向 .NET Framework 的项目受支持。 对于 UWP 项目或面向 .NET Core 的项目,它不受支持。

8.1 生成示例数据

若要生成示例数据,请打开 XAML 文档。 在“数据”面板中,选择“创建示例数据”图中红色按钮,然后选择“新建示例数据”。

在“数据” 面板中定义数据的结构,然后将它绑定到任何页面上的 UI 元素。
在这里插入图片描述
如果希望示例数据在运行应用时显示在页面中,请选择“数据源”选项(箭头指向按钮),然后选择“启用运行应用程序时”。
在这里插入图片描述

8.2从类生成示例数据

如果已创建了描述数据结构的类,则可以从这些类生成示例数据。

若要从类生成示例数据,请打开一个 XAML 文档,然后在“数据”面板中,单击“创建示例数据”Create sample data icon按钮,然后单击“从类创建示例数据”。

本文目录,点击忘记的知识点复习

  • 1.Blend独有的高级功能
  • 2.Blend与studio通用功能
    • 3.Blend XAML 设计器
      • 3.1绘制形状和路径
      • 3.2 绘制形状
    • 3.3绘制路径
    • 3.4绘制直线
    • 3.5 绘制曲线
    • 3.6 更改曲线的形状
    • 3.7 绘制任意形状的路径
    • 3.8 删除路径的一部分
    • 3.9 删除路径中的点
    • 3.10 向路径添加点
    • 3.11 将形状转换为路径
    • 3.12 合并路径
    • 3.13 创建复合路径
    • 3.14 创建剪切路径
  • 4. Blend 修改对象的样式
    • 4.1 画笔:修改对象的外观
    • 4.2 在对象上绘制重复图像或图案
    • 4.3 样式和模板:跨控件创建一致的外观
    • 4.4 创建模板或样式
    • 4.5 将样式或模板应用于控件
    • 4.6 还原控件的默认样式或模板
  • 5.可视状态
  • 6 资源:创建颜色、样式和模板,并在以后重复使用它们
  • 7.在 XAML 设计器中动态显示对象
    • 7.1 创建动画
  • 8.在 Blend for Visual Studio 中显示数据
    • 8.1 生成示例数据
    • 8.2从类生成示例数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《WEB安全漏洞100讲》(第4讲)CSRF漏洞

1.CSRF漏洞原理 CSRF(Cross-site request forgery),跨站请求伪造,简写 CSRF/XSRF。指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的…

【java】4-线程的状态

1. 线程状态的含义 线程在不同的时期具有不同的状态,线程状态是线程实例的一个非常重要的属性,我们可以通过状态看到当前线程究竟是在被创建,运行,阻塞还是已经中断,或是处于别的状态,以便更好地对于代码进…

ARM通用中断控制器GIC之中断控制

在阅读本章之前,可以参考笔者之前关于GIC的一些描述: ARM通用中断控制器GIC(generic Interrupt Controller)简介 ARM架构Generic Interrupt Controller(GIC)之Distributor和CPU interface功能介绍 ARM架构Generic Interrupt Controller(GIC)详解之术语…

一文带你快速搭建框架(最全MyBatis笔记)

目录 一.概述 1.简介 2.maven构建 二.相关概念 1.Mapper接口 2.ORM思想 三.映射配置文件 1.文件结构 2.映射配置文件标签详解 3.SQL语句中参数的获取 (1)获取方式 (2)参数类型 4.各种SQL操作 5.处理表字段和实体类属性名不一致的情况 6.多对一映射关系的处理 7…

InnoDB引擎架构

1、逻辑存储结构: 表空间(ibd文件):一个Mysql实例可以对应多个表空间,用于存储记录、索引等数据。 段:分为数据段、索引段、回滚段、 InnoDB是索引组织表,数据段就是B树的叶子节点&#xff0c…

使用Flink1.16.0的SQLGateway迁移Hive SQL任务

使用Flink的SQL Gateway迁移Hive SQL任务 前言 我们有数万个离线任务,主要还是默认的DataPhin调度CDP集群的Hive On Tez这种低成本任务,当然也有PySpark、打Jar包的Spark和打Jar包的Flink任务这种高成本的任务【Java和Scala都有】。毕竟SQL上手门槛极低…

【邻接表】【数组表示链表】怎么用数组链表 表示 邻接表

怎么用数组链表 表示 邻接表***邻接表(数组链表)是怎么存储的?***邻接表(数组链表)是怎么存储的? 正常情况下,我们用链表存储的话,我们让 1 指向 2 我们会给出 1 和 2的地址&#xf…

Java基于JSP二手书交易平台设计与实现

现代网络技术发展迅速,传统的书店销售模式受到诸如场地、资金、宣传等因素制约,已经不能满足人们的日益增长的图书购买需求,网上书店应运而生,基于web的网络书店给人们带来了很大便利,网络书店不仅是传统售书模式的发展…

AidLux智慧交通AI安全实战学习

本次参加AidLux训练营,Rocky作为主讲老师,学习到了利用目标检测算法流程和AI攻防策略进行结合,从而达到安全。 1.检测汽车模型的训练 本次目标检测的模型是Yolov5,首先对标注图片 进行转换,转换为yolov5的格式&#…

《痞子衡嵌入式半月刊》 第 61 期

痞子衡嵌入式半月刊: 第 61 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢…

激光切割机机械结构设计

目 录 摘 要………………………………………………………………………………………Ⅰ ABSTRACT…………………………………………………………………………………… Ⅱ 1 绪论 1 1.1课题背景 1 1.2现实意义 1 1.3设计任务 1 1.4总体设计方案分析 2 2 机械部分XY工作台及Z轴的…

分享99个小清新PPT模板,总有一款适合您

PPT下载链接:https://pan.baidu.com/s/1VW0Eljx1Ac9QEEBaiIvqcg?pwd40hn 提取码:40hn 源码下载链接:ppt.rar - 蓝奏云 采集的参数 page_count 1 # 每个栏目开始业务content"text/html; charsetgb2312"base_url "https:…

如何查找无物流信息单号

我是在一家大公司里面上班,我公司都是那种厂家直销,所以每天发货量是比较大,同时一天都是几家快递同时发货,我是负责每天跟踪物流信息状况,公司要求每天都上报当天发货的快递在24小时之内有没有物流信息,如…

嵌入式编程别忽略了C语言的标准

正文大家好,我是bug菌~最近做代码评审发现很多同事的编码都游走在风险的边沿,其中最显眼的就是局部变量定义位置比较随意。对于C语言编程老手而言,绝大部分都已经养成了"变量定义必放在语句块的开头"这一习惯,依稀还记得…

windows虚拟机中docker运行springboot容器报错:Unable to access jarfile /app.jar

1.在Windows系统中创建了虚拟机,并且在虚拟机中安装了docker,但是在使用Dockerfile创建镜像并且运行时报错 2.使用shell脚本运行的,并且检查后也没有发现文件或者路径有错 解决: 使用vim加参数的形式打开shell脚本,可以…

微服务架构下的认证鉴权解决方案

背景 单体应用在向微服务化架构演进时,需要考虑如何解决服务认证授权的问题。如果处理不好,会引发架构的混乱,带来安全、性能、难以维护的问题。 以最典型的包含WEB页面的具备登录态管理的系统为例。在最初阶段,登录鉴权一般通过…

文华财经期货技术分析日内多空信号共振指标公式,波段行情短线抄单操盘幅图指标

​期货交易的很大一个误区是“痴迷于各种指标公式” 大家千万不要痴迷于指标,记住一点:行情软件界面之中的K线图叫主图,其余指标叫附图。 这从叫法上就该知道,我们寻找买卖点要在主图K线上来寻找,指标只是起到辅助分析的作用&…

操作系统02_内存分页管理_分段管理_设备管理_IO处理_索引文件结构_文件目录_位示图---软考高级系统架构师007

存储管理可以分为固定存储管理和分页存储管理。 现在固定存储管理已经不用也不考,但要知道因为固定存储管理指的是整存整取 也就是把一整个程序,比如说10G的游戏全部都存到内存里 这样的话是非常占用内存的,这个固定存储管理现在已经不用了。 然后这里我们主要看分页存储管: …

蓝桥杯比赛 NOC竞赛C++项目选择题真题和模拟题汇总

题目来源:第10届蓝桥杯青少年组C选拔赛 1、下面哪个密码最安全 A. 111111 B. 123456 C. qwerty D. Z2a8Q1 2、如果今天是星期六,再过60天是星期几? A. 星期三 B. 星期四 C. 星期五 D. 星期六 3、90到100之间有几个素数? …

mmcv和openCV两个库imcrop()和imresize()方法的对应【基础分析】

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录MMCV 全家桶mmcv.imresize(img, (1000, 600), return_scaleTrue) 方法实现对应的…