微软XAML Studio - WPF, Sliverlight, Xamarin, UWP等技术开发者的福音
最近又在继续倒腾WPF的项目,继续使用Caliburn.Micro和Xceed来堆代码。每次调试xaml上的binding,都有种要疯的赶脚。
今天路过 https://channel9.msdn.com/ 浏览 WPF相关的学习视频时,遇到微软推荐的相关视频 - XAML sutdio简介,好奇心使然,目测是和Visual Studio Code类似而强大的巨牛工具,就好好看完了视频。

XAML sutdio是微软Garage实验小组的作品,其特色是为XAML提供了如下一些功能。
XAML Studio包含以下功能:
- 实时且可交互的预览窗口
- 实时绑定和调试
- 数据上下文编辑器
- 自动保存和恢复文档
- 智能感知
- 文档工具箱
- 对齐指南
- 命名空间助手
下面结合XAML studio的界面对其进行详细介绍~
XAML Studio 是微软Garage项目组的一个不依赖 Visual Studio而能快速创建XAMLUI原型、实时预览、调试数据绑定及其他更多功能的一个轻项目,其最新版本可从 Microsoft Store 进行安装,温馨提醒一下这个软件只能在Windows 10及其以上版本的PC和Surface上使用。
编辑器功能
XAML Studio的编辑器很像一个"轻量级"的Visual Studio,或者用VS Code来类比更合适。除了编辑器, 在左侧还有文件,数据源,调试和工具箱这几个选项。

编辑器的行为与您期望的一样。 您可以在底部向XAML添加控件,顶部预览面板会对更新做出响应。

工具箱提供了一个可以搜索的控件列表,然后单击以插入到XAML中。

与Visual Studio中的XAML编辑器不同,VS中的实时预览不提供任何类型的拖放体验。
数据源功能
你可以通过静态JSON或JSON REST API将数据绑定到XAML组件。
要绑定到静态JSON,可以单击数据源窗格,然后直接在编辑器中输入JSON即可。

要绑定到REST API,可以单击数据源面板顶部的两个箭头以打开一个文本框,您可以在其中输入REST API。 输入REST API URI然后单击刷新按钮后,JSON将更新,XAML预览也将更新。

调试数据绑定
调试功能允许你查看哪些数据绑定实际成功。 打开调试模式后,您将能够看到当前绑定以及可用绑定的历史记录。

伟大的开始
我对这个工具的诞生感到很兴奋。 这看似是建立在VS Code和Monaco编辑器的基础上开发而来的,但它的特色是提供了一些便捷的功能。 我很乐意看到这里的绑定调试功能,不仅仅是因为这里使用了简洁的JSON数据,而是它现在就可以提供非常棒的绑定调试功能,而我知道目前的Visual Studio中还没提供这种功能。
我们来一起实践吧
我在编辑器中创建了一段这样的代码:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Padding="40">
<TextBlock>
<Run FontSize="24" Foreground="#FFFC5185">First demo using XAML Studio</Run><LineBreak/>
<Run> Hello, Bravo.</Run>
</TextBlock>
</Grid>
</Page>
上方立马就出现了代码预览~

知道HTML的人都应该知道这里 <Run>标签的作用,其实和HTML中的<p>标签有点像,除此之外,其他的XAML部分和其他地方一样~
好吧,请各位慢慢享用了~
查看本人最近其他原创作品请移步:
- JS实现页面复制文字时自动加版权
- 开发小白也毫无压力的hexo静态博客建站全攻略 - 躺坑后亲诉心路历程
- 改进博客园Markdown显示功能(加代码行号、显示代码所用编程语言)
- 当今最全面可用的微博分享组件嵌入方法(亲测2019年2月仍有效)
- 前端小白也能快速学会的博客园博客美化全攻略 - 附源码
- 史上最最靠谱,又双叒叒简单的基于MSXML的XML解析指南-C++
参考链接:
Microsoft Garage's XAML Studio Does Real-Time UWP UI Changes -- Visual Studio Magazine
By devs, for devs: meet new Garage projects XAML Studio and Team Retrospectives - Microsoft Garage
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入 .NET技术交流群,在公众号后台回复“加群”或者“学习”即可。

文末彩蛋
微信后台回复“asp”,给你:一份全网最强的ASP.NET学习路线图。
回复“cs”,给你:一整套 C# 和 WPF 学习资源!
回复“core”,给你:2019年dotConf大会上发布的.NET core 3.0学习视频!
微软XAML Studio - WPF, Sliverlight, Xamarin, UWP等技术开发者的福音的更多相关文章
- Xamarin XAML语言教程使用Xamarin Studio创建XAML(二)
Xamarin XAML语言教程使用Xamarin Studio创建XAML(二) 使用Xamarin Studio创建XAML Xamarin Studio和Visual Studio创建XAML文 ...
- WindowsXamlHost:在 WPF 中使用 UWP 控件库中的控件
在 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) 一文中,我们说到了在 WPF 中引入简单的 UWP 控件以及相关的注意事项 ...
- MVVM框架从WPF移植到UWP遇到的问题和解决方法
MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...
- Visual Studio跨平台开发Xamarin
台湾微软的一系列Visual Studio跨平台开发Xamarin的资料,上面还有视频.具体参看 http://www.microsoft.com/taiwan/newsletter/library/ ...
- xamarin UWP平台下 HUD 自定义弹窗
在我的上一篇博客中我写了一个在xamarin的UWP平台下的自定义弹窗控件.在上篇文章中介绍了一种弹窗的写法,但在实际应用中发现了该方法的不足: 1.当弹窗出现后,我们拖动整个窗口大小的时候,弹窗的窗 ...
- xamarin UWP设置HUD加载功能
使用xamarin开发的时候经常用到加载HUD功能,就是我们常见的一个加载中的动作,Android 下使用 AndHUD , iOS 下使用 BTProgressHUD, 这两个在在 NuGet 上都 ...
- WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit)
Windows Community Toolkit 再次更新到 5.0.以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了. ...
- 微软Visual Studio Code 0.8.0发布,新增多种主题
月30日,Build 开发者大会上,正式宣布了 Visual Studio Code 项目;并将其定义为:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和 ...
- xamarin UWP证书问题汇总
打算开发一个软件使用rsa加密的东西,所以有用到数字证书这块,最近遇到些问题, 问题一:使用如下代码添加数字证书后,在证书管理器的当前用户和本地计算机下都找不到这张证书. using (X509Sto ...
随机推荐
- 微软黑科技强力注入,.NET C#全面支持人工智能
微软黑科技强力注入,.NET C#全面支持人工智能,AI编程领域开始C#.Py--百花齐放 就像武侠小说中,一个普通人突然得到绝世高手的几十年内力注入,招式还没学,一身内力有点方 Introducin ...
- Python3实现ICMP远控后门(上)_补充篇
ICMP后门(上)补充篇 前言 在上一篇文章Python3实现ICMP远控后门(上)中,我简要讲解了ICMP协议,以及实现了一个简单的ping功能,在文章发表之后,后台很多朋友留言,说对校验和的计算不 ...
- Spring温故而知新 – AOP代理
AOP的概念 AOP:Aspect-Oriented Programming(面向切面编程),维基百科的解释如下:Aspect是一种新的模块化机制,用来描述分散在对象.类或者函数中的横切关注点,从关注 ...
- 一文读懂阻塞、非阻塞、同步、异步IO
介绍 在谈及网络IO的时候总避不开阻塞.非阻塞.同步.异步.IO多路复用.select.poll.epoll等这几个词语.在面试的时候也会被经常问到这几个的区别.本文就来讲一下这几个词语的含义.区别以 ...
- 网站开发中使用javascript获取浏览器滚动条宽度
在网站开发中,有时候需要获取浏览器滚动条的宽度,在武汉蚂蹄软件服务中心的技术人员指导之下,我实现了该需求.记录如下: 首先说明一下原理: ①生成一个div,设置滚动条不可见,记录其宽度: ②将上面的d ...
- synchronized修饰方法和代码块的区别
先看一段代码 Class A { public synchronized methodA() {//对当前对象加锁 } public methodB() { synchronized(this){}/ ...
- Get Docker CE for CentOS
To get started with Docker CE on CentOS, make sure you meet the prerequisites, then install Docker. ...
- LeetCode Javascript实现 100. Same Tree 171. Excel Sheet Column Number
100. Same Tree /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; ...
- Java 读书笔记 (五) 目标数据类型转换
数据类型转换必须满足如下规则: 不能对boolean类型进行类型转换 不能把对象类型转换成不相关类的对象 //那不同类的对象可以用同一个名字命名吗?根据作用域原则,可以吧? 把容量大的转换为容量小的 ...
- NIO(一)——缓冲区Buffer
NIO(一)--Buffer NIO简介 NIO即New IO,是用来代替标准IO的,提供了与标准IO完全不同传输方式. 核心: ...