所谓的deeplink技术是为了解决silverlight(或flash)之类的RIA Web应用无法被搜索引擎收录而出现的,属于SEO范畴。 就拿最常见的企业网站为例,里面有企业简介(About),产品展示(Product),联系我们(AboutUs)...等常见模块,如果全站都用silverlight/flash来做,default.html页面上用object嵌入一个xap/swf就完事了,搜索引擎永远收录到的都是default.html一个页面. 假如,我们能用 http://www.xxx.co
最近在继续倒腾WPF的项目,继续使用Caliburn.Micro和Xceed来堆代码。每次调试xaml上的binding,都有种要疯的赶脚。
前面几篇我们介绍了如何利用 C# + XAML 完成Windows Store App 功能的实现,接下来的几篇我们来看看如何利用 Html + WinJS 来完成这些功能。 本篇我们使用WinJS
X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML代码将XAML代码编译为CLR代码。
在silverlight beta 2 中已经支持了动态语言.但是在Visual Studio 和 Experssion Blend中还没有使用动态语言的模版.我们目前只可以手动建立. ok 开始吧
默认情况下: telerik RadControls控件使用的是Office Black 主题,就算在App.xaml.cs里写上
最近又在继续倒腾WPF的项目,继续使用Caliburn.Micro和Xceed来堆代码。每次调试xaml上的binding,都有种要疯的赶脚。
1.Xamarin调用WebView: 原理:Xamarin.Forms WebView内置方法xx.Eval(..)可以调用到页面里面的js函数。 WebView展示的代码如下: var htmlSource = new HtmlWebViewSource(); htmlSource.Html = @"<html> <head> <meta charset='UTF-8'> <title></t
我们把有用的东西称为资源。“兵马未动,粮草先行”-----程序中的各种数据就是算法的原料和粮草。程序中可以存放数据的地方有很多,可以放在数据库里、可以存储在变量里。介于数据库存储和变量存储之间,我们还可以把数据存储在程序主体之外的文件里。外部文件与程序主体分离,这就有可能丢失或者损坏,编译器允许我们把外部文件编译进程序主体、称为程序主体不可分割的一部分。这就是传统意义上的程序资源(也称为二进制资源)。
今天大姚给大家分享四款Visual Studio中的代码格式化工具、扩展插件。大家可以在Visual Studio中的管理扩展或者插件市场下载安装。
本文不涉及高深的设计模式(比如mvc,mvvm之类),也没有太多的编程技巧,只是记录自己做为asp.net开发者学习silverlight中自定义控件开发的一些过程,高手请绕过。 先推荐一篇不错的文章http://www.cnblogs.com/carysun/articles/1259025.html 写得很全面,只不过图片讲解不够丰富,初学者可能有些感到跳跃性大了一些。 正文开始: 做过asp.net网站开发的都知道用户控件是一个很方便的功能,通常我们会把一些模块化的功能封装成用户控件,用的时候直
如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) XMAL引入 XAML 类似于 HTML,是一种特殊的XML语言 XAML本质上属于一种.NET Programming Langu
开发者可以设置UWP特定设备xaml view,在桌面,手机,Iot,这个对于设置对不同设备的不同屏幕有用。我们可以使用RelativePanel,VisualStateTriggers,但是这样我们的xaml很大,我们在弄的时候觉得想修改一个东西会让我们把全部删了。 为了让我们可以在不同设备使用不同xaml view,我们可以有下面的方式:
XAML标签元素在silverlight运行时被转换成相应的对象,通过XamlReader类的Load方法,动态创建UI元素: 指定一条XAML内容字符串,为按照XML规则运行,XamlReader.Load()现在需要你在你的XAML文件中指定一个xmlns; 通过XamlReader.Load方法把元素在内存中编译(这样就可以得到UI元素对象的引用,也有可能是null,或者报错); 最后把它添加到容器的子控件中。 下面我们来制作一个简单的时钟,Page.xaml如下: <UserC
看了个BUILD的PPT,Windows Runtime (RT)并不是一些新闻网站说的那样微软自废.NET武功,而是恰恰相反,WinRT是Win32API的现代版,其中有很深的.NET的基因,是Metro UI的.NET基础,如果考察Metadata的变化,WinRT的API定义的元数据是基于标准ECMA 335,也就是.NET的标准 ,WinRT也是一个沙箱的环境,针对AppStore环境设计的。 视频 基础知识 微软以推出Windows 8为契机,以解决Windows长期存在的问题,并带来了新的用户界
默认初始屏幕体验 在托管 API 下为 Silverlight 定义的默认体验是:超出某一时间阈值(约为 0.5 秒)的任何加载都将在内容区域中显示基于 XAML 的动画。显示该默认动画和初始化序列的 XAML 被硬编码到 Silverlight 插件中。 为了替换默认初始屏幕,您为在 HTML 中定义 object 元素的 Silverlight 插件的 splashScreenSource 参数提供一个值。或者,用于 Silverlight 的 ASP.NET 控件将定义一些 API,这些 API
昨天参加微软的一个小技术新一代设计工具 - Microsoft Expression 看到很多相关的工具.在网上一搜,找到下面这些东东,和大家分享一下. XAML: Vista\Longhorn 内置 Native 的 XRE。以 Windows 的界面组件来 Render 界面,发生事件时,调用用户自己的事件处理程序(.NET 的程序)。可以运行于Windows XP SP2,Windows Server 2003 SP1. XAML资讯的专门网站: http://www.xaml.net/in
XamlWriter的Save函数,会将指定的对象和其属性序列化 成Xaml字符串。
设置 → 应用 → 可选功能 → 更多 Windows 功能 → 勾选“虚拟机平台” → 确定,或者直接运行optionalfeatures打开Windows功能:
上一篇我们已经一起编写了框架的基础结构,并且实现了ViewModel反向控制Xaml窗体。
WinUI3 是微软提供的用于构建现代 Windows 应用程序的用户界面框架。通常,WinUI3 应用程序是用 C# 或其他 .NET 语言编写的。不过,使用 PowerShell 创建 WinUI3 GUI 也是可以的。
UWP 对 读写 XML做了一些修改,但和之前 WPF 的方法没有大的区别。 我们先来说下什么是 XML , XML 其实是 树结构,可以表达复杂的结构,所以在定制要求高的、或其他方面如json 做不到的结构,那么一般就使用XML,如果XML的数据结构都做不到,那么基本上也难找到其他的结构。 XML 的优点是读写很简单,也支持定制。缺点是复杂,当然这也是他的优点。在网络传输数据,如果使用XML,相对的传输大小会比 Json 多两倍。所以是不是要用到这么高级的结构,还是看需要。 wr 很喜欢用 XML,可以看到我们的项目,*.csproj 和页面 xaml 都是XML,当然Html也是,Xml 其实还可以用作本地数据库,所以 XML 还是很重要。 本文就提供简单的方法来读写 XML 。提供方法有两个,放在前面的方法是比较垃圾的方法,放在后面的才是我希望大家使用的。 如果遇到了 C# 或 UWP 读取 xml 返回的 Node 是空,那么请检查命名空间,关于命名空间内容,请继续看博客。
大家平时做WPF开发,相信用Visual studio的小伙伴比较多。XAML代码曾经在某些特殊版本的Visual Studio中是可以加断点进行调试的,不过目前多数版本都不支持在XAML加断点来调试。
发布于 2018-10-13 22:24 更新于 2018-12-14 01:54
我近日在一次项目中,使用了ESRI的Silverlight API进行了开发。结果在进行网站部署时遇到了“运行后一片空白”的问题。
公司最近一个项目,软件采用WPF开发,需要实现类似于VS的选项卡(或者是浏览器的选项卡)效果。搜寻诸多资料后,发现很多同仁推荐AvalonDock这款开源控件。在其官方地址下载源码和Demo后,对其进行了初步的研究,初步实现了预期效果。 完整系列 ● 第一部分 ● 第二部分 ● 第三部分 在Git中下载工程源码
本文将给大家一个 System.Xaml 的独立项目,此项目代码和 WPF 仓库的 System.Xaml 项目相同,但本文的 System.Xaml 的独立项目不依赖 WPF 其他项目,构建方便,构建速度快,搭配 System.Xaml.Demo 项目更方便调试
不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了。虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有一点点。其实 Xamarin 相关的内容有在使劲地更新,不过和我做的 WPF/UWP 关系又不大。总算是积少成多,随着 Visual Studio 持续更新,现在 XAML 编辑器的使用体验已经比去年有了很大的改善。这篇文章就来总结下 Visual Studio 2019 发布后 XAML 工具的各个主要改变。
在 VisualStudio 2015 和 VisualStudio 2017 微软支持在 xmal 使用 region
发布于 2018-07-16 11:14 更新于 2018-09-01 00:00
如果你已经安装了silverlight并能在IE7或Firefox 2中运行,请直接复制下边的代码存成.htm来浏览。 <html> <head> </head> <body> <script
本文主要翻译,可能带有一定的主观性和局限性,说的东西可能不对或者不符合每个人的预期。如果觉得我有讲的不对的,就多多包含,或者直接关掉这篇文章,但是请勿生气或者发怒吐槽,可以在我博客评论 http://blog.csdn.net/lindexi_gd
在silverlight往往还是有一些获取不到的东西,比如说客户机的ip等的数据.可以通过初始化sl时把参数传入sl中. 1.修改page类 public Page(string passText) { InitializeComponent(); txtPass.Text = passText; } 2.修改App.xaml.cs private void Application_Startup(object sender, StartupEventArgs e)
发布于 2018-05-22 13:21 更新于 2018-09-01 00:04
。WPF性能跟WinForm没得比,只是可以做出漂亮的界面, , 我推荐几个入门教程吧.。首先WPF常规开发都是用MVVM模式,MVVM的框架这里推荐MVVMLight,直接NuGet安装即可, 下边是推荐的链接 这个是视频教程,如果没权限下载直接百度搜索就能找到免费下载的 https://www.cnblogs.com/prism/archive/2011/12/15/2288309.html 这个是WPF各种布局入门 http://www.cnblogs.com/zhili/p/WPFLayout.html
需要知道的是,获取的资源类型是 Object ,这时,建议使用 cast 转换,而不是使用 as。
MVVM 是一个强大的架构,基本从 WPF 开始,wr(我说的就是微软)就提倡使用 MVVM。它可以将界面和后台分离,让开发人员可以不关心界面是怎样,全心投入到后台代码编写中。 然后在编写完后台代码后,可以快速和界面设计师做出来的界面绑定到一起,即使频繁修改界面也几乎不需要去修改后台代码。 更让人喜欢的是,他可以让我们简单地进行单元测试,因为我们可以不打开界面进行测试功能,方便了我们的测试开发。 UWP 虽然可以直接在xaml.cs 写逻辑但是我们是推荐使用 MVVM 框架,写一个自己的框架也很简单。 本文主要:如何在 UWP 使用 MVVM,如何做一个自己的框架。
团队的设计师喜欢输出 SVG 格式的图片,而咱如果想要在 WPF 中高性能呈现出来,最好还是转换为 XAML 代码。本文来安利大家一些 SVG 转 XAML 的工具
发布于 2018-07-21 13:51 更新于 2018-07-24 01:17
.NET Core 实现了跨平台,支持在 Windwos、Linux、macOS上开发与部署,但是也仅限于Web应用程序。对于Windows桌面端应用程序,WinForm 与 WPF 技术是当前最成熟、应用最多的解决方案。因为它们的UI与Windwos操作系统的底层技术紧密关联,所以在Linux、macOS上无法实现相同的UI功能。目前对于跨平台的桌面端UI需求,.NET还没有统一完整的解决方案。期待.NET6中的MAUI能给大家带来惊喜。下面整理了几款桌面端跨平台解决方案。
当程序启动初始化时间比较长时,我们一般会设置一张图片作为启动画面,让用户知道我们的程序不是崩了,是还在跑。
发布于 2018-07-29 23:51 更新于 2018-08-31 23:57
WPF是 Windows Presentation Foundation 的英文缩写,意为“窗体呈现基础”,是微软基于.NET Framework 3.0 推出的新一代构建窗体程序的框架。不同于WinForm,WPF实现了界面和开发分离,它的界面是由Xaml语言构建的,这种形式对前端开发人员非常友好,使初步进入WPF页面开发的前端开发人员可以很轻松的上手并开发出绚丽的界面(并且还有一个UI编辑利器:VS Blend来辅助界面的开发)。另外,WPF还具有强大的图形绘制功能,以及自带MVVM框架,有关MVVM相关的知识点会在后续的文章中发布。
2018-08-05 08:56
本文来安利大家 XamlTreeDump 库,通过这个库可以将 XAML 树上的元素转换为 json 字符串,可以用来进行 UI 单元测试
WPF开发于WinForm之后,从技术发展的角度,WPF比WinForm先进是不容置疑的。我觉得WPF相比于WinForm有下面的一些较好的特性: 解决Window Handle问题 在Windows GDI或WinForm开发中复杂的GUI应用程序,会使用的大量的控件,如Grid等。而每个控件或Grid cell都是一个小窗口,会使用一个Window handle,尽管控件厂商提供了很多优化办法,但还是会碰到Out of Memory或”Error Create Window handle”,而导致程序退出。 WPF彻底改变了控件显示的模式,控件不在使用窗口,也就不会占用Window handle。理论上,如果一个WPF只有一个主窗口的话,WPF只会使用一个Window handle(如果忽略用于Dispatcher的隐藏窗口的话)。所以WPF GUI程序不会出现Window handle不够用的情况。 多线程的处理 在WinForm程序开发时,最头疼的一个问题就是,worker线程修改控件的属性而导致程序崩溃,而且这种非法操作并不是每次都失败。WinForm控件提供了InvokeRequired属性来判断当前线程是不是控件创建线程。问题是当控件树很深是,这个属性会比较慢。 WPF开始设计的时候,就考虑到了多线程的问题。大部分的WPF类都继承于DispatcherObject。DispatcherObject实际就是对Dispatcher的一个简单封装。Dispatcher提供了类似InvokeRequired的方法(CheckAccess)。这个方法只是比较线程的ID,所以会很快。另外,Dispatcher提供了优先队列,异步调用,Timer等功能,简化了开发多线程GUI程序。 控件的Composition 在WinForm如果要实现一个有Checkbox的下拉菜单,将不得不处理复杂的Window消息。而通过WPF控件的Content Model和Layout系统,WPF控件可以包括任何类型的控件,甚至.Net CLR对象。很多现代的控件厂商也提供了Composition的控件,实现方法和WPF的Content模型也比较相似。WPF开发团队应该借鉴了Infragistics的很多想法。有了这个基础,开发新的WPF控件更加简单了。 XAML 个人觉得XAML应该是WPF中比较划时代的东东。通过XAML,我们可以用文本的方式描述复杂的Object Graph。这个想法在VB中就有了,不过XAML更简化,以便于使用工具来生成XAML。通过Command,Routing Event等机制,界面设计人员和程序员有比较清楚的界限。 Dependency Property 在WinForm开发中,经常碰到的问题就是一个控件的值变了,其他控件也会跟着改变。解决办法,要不是通过写代码,要不是通过数据绑定,前者是界面和代码没法分开,后者还不够灵活。而WPF在这方面通过XAML可以简单的把相关的属性联系起来,通过Extension可以实现复杂的绑定关系。 总的来说,我觉得WPF应该是GUI发展的一个延续,原来GUI中复杂的东西,现在通过简单的文本就可以实现。
在 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) 一文中,我们说到了在 WPF 中引入简单的 UWP 控件以及相关的注意事项。不过,通常更有实际价值的是更复杂的 UWP 控件的引入,通常是一整个 Page。
在开发 WPF 类库时,由于类库里面没有存在 App.xaml.cs 文件,而在对单个 XAML 进行开发时,设计器将会因为找不到资源文件的存在,而拿不到资源。本文告诉大家简单的方法,给设计器设置仅在设计时引用的资源
领取专属 10元无门槛券
手把手带您无忧上云