WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
开发了一个小程序,网页端用vue.js框架,桌面端WPF,后台.NET,集成identityserver4认证授权。
Spread Studio for .NET是一个跨平台的Spread表格控件工具集,支持Windows Forms, ASP.NET, WPF, WinRT以及Silverlight平台。新的产品套包中包含全新的Spread for Windows Forms,Spread for ASP.NET, Spread for WPF-Silverlight以及Spread for WinRT控件产品。 其中使用最广的Spread for Windows Forms和Spread for ASP.NET产品已经
这是MSDN上对Style的描述,翻译的还算中规中矩。Style(样式),简单来说,就是一种对属性值的批处理,类似于Html的CSS,可以快速的设置一系列属性值到UI元素。
我们把有用的东西称为资源。“兵马未动,粮草先行”-----程序中的各种数据就是算法的原料和粮草。程序中可以存放数据的地方有很多,可以放在数据库里、可以存储在变量里。介于数据库存储和变量存储之间,我们还可以把数据存储在程序主体之外的文件里。外部文件与程序主体分离,这就有可能丢失或者损坏,编译器允许我们把外部文件编译进程序主体、称为程序主体不可分割的一部分。这就是传统意义上的程序资源(也称为二进制资源)。
这是一个开源的表格控制组件,支持Winform、WPF和Android平台,可以方便的加载、修改和导出Excel文件,支持数据格式、大纲、公式计算、图表、脚本执行等、还支持触摸滑动,可以方便地操作表格。
WPF资源系统是一种保管一系列对象(如常用的画刷、样式或模版)的简单办法,从而使您更容易地复用这些对象。
众所周知,使用 WPF 框架能够开发出功能强大、界面美观的桌面端应用。能够达到这个效果,各种 WPF 的控件库、UI 库功不可没。所以,想着能不能收集一下目前市面上存在的库,以便在今后需要使用的时候能够手到擒来。这不收集不知道,一收集吓一跳,竟然收集出了三十多款 UI / 控件 库,接下来就一一分享给大家。
CPF(暂时命名)(Cross platform framework),模仿WPF的框架,支持NETCore的跨平台UI框架,暂时不够完善,只用于测试,暂时只支持Windows和Mac。支持数据绑定,CSS,动画。。。
之前一直做WPF现在开始接触Slilverlight感触很多。 今天做一个Button要求 有两个图片,button默认有一个图片,鼠标over时用另一个图片, 用wpf做的时候写一个template很简单,但silverlight和wpf写起来不一样 记录一下。大概思路是两个image鼠标MouseOver的时候一个Visible一个Collapsed 写的是一个自定义控件,代码和皮肤分离,很简单的一个demo 代码下载:ImageButtonTest.rar 先写一个继承自button的imagebut
在开始专题内容之前,我们还是了解一下 葡萄城ActiveReports报表 是一款什么产品:葡萄城ActiveReports报表是一款在全球范围内应用非常广泛的报表控件,以提供.NET报表所需的全部报表设计功能领先于同类报表控件,包括对交互式报表的强大支持、丰富的数据可视化形式、与Visual Studio的完美集成、以及对WPF / WinForm / ASP.NET / Silverlight和Windows Azure的多平台支持等。 通过葡萄城ActiveReports报表控件,您除了可以创建常用的
最近使用 DocFX 对 Rafy 框架的帮助文档进行了升级。 SandCastle 之前 Rafy 框架的帮助文档,是使用 SandCastle 来编写的(https://github.com/EW
前言: 起初写这个框架的时候,可以说在当时来说并不是很流行的设计模式,那是在2012年,面向对象的编程大家都很熟悉, 但是“注入、控制反转(DI,IOC,依赖注入)、AOP切面编程”新兴名词 很多人并不知道特别是从事.NET开发的人,至少在当时 是这么样的,但是在今天它们却是非常流行的技术指标,很多大牛也承认,这是主流的开发模式,你们可以从招聘网的技术岗 位看出。 嘿嘿... 我从事过MVC2.0到5.0的相关开发工作,见证了MVC的成熟演变过程,就像本框架一样,设计模式未曾改变,但是代码一直在重 构。我也
WPF 是微软推出的表现层UI开发框架,全称 Windows Presentation Foundation。 相对Winform来讲,它使用一种全新的桌面应用程序 UI 的开发方式。 除了像Winform那样在“Windows 窗体”上删除控件之外,WPF 还为应用程序开发提供了额外的功能改善,包括丰富的用户界面、动画等等。
自从微软推出.NET以来,截止到上月为止,.NET的使用人数仅次于C++、C,学校教学以及公司开发环境所使用Visual Studio .NET Framework版本多不相同,本文作者比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework。 版本号发布日期Visual Studio的版本Windows上的默认情况CLR版本发行版的特点 1.0 2002年2月13日 Visual Studio .NET NA 1.0 CLR和基类库的第一个版本 1
1.可编程模块,使用C#语言。2.控制台打印控件,可以打印程序中的Console.WriteLine数据 3.为了便于大家使用,写了一个Box工厂分配Box的数据流向效果图。
前面的文章里写过使用sharpGL三维建模生产3D井眼轨迹,这篇文章主要是说一下在WPF中如何进行3d图绘制。
FDS最常见的问题之一是如何与Fall Creators Update之前的版本兼容,其实做起来也挺简单的,ColorfulBox就实现了Creators Update与Fall Creators Update之间的兼容。
这篇文章主要分享从源代码角度解读wpf中xaml。由于源码查看起来错综复杂“随便找一个对象按下F12就是一个新的世界”,看源码的感觉就是在盗梦空间里来回穿梭;所以也是耗费很长的时间去阅读源码然后根据自己的理解编写文章和贴出部分关键源码。
本文收藏我所了解的从 dotnet core 3 到 2020.11.10 发布的 dotnet 5 的 WPF 的变更
MSDN "WPF/E" (codename) Dev Center : http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx 对网上的WPF/E 文章汇总,前一部分来自思归的WPF/E技术文章,每天整理一些资源. 1。WPF/E 起步 -- Getting Started with "WPF/E" (Code Name) http://msdn2.microsoft.com/en-us/library/bb190632.aspx 讨论了WPF
本文告诉大家 UWP 和 WPF 的不同。 如果在遇到技术选择或者想和小伙伴吹的时候可以让他以为自己很厉害,那么请继续看。
整个 WPF 就是一个UI框架,一个 UI 框架最重要的是 交互 和 显示 部分,而书写这个功能将会完全贯穿 WPF 整个框架的功能。本文非入门级博客,本文包含了大量链接博客,阅读本文你将会了解从用户手指触摸屏幕到最终屏幕打印出笔迹的应用程序执行的步骤
本文告诉大家如何使用 Windows Community Toolkit 的新控件,在 WPF 使用 Edge 浏览器
Extended WPF Toolkit 可以说是WPF Toolkit 的一个补充,Extended WPF Toolkit包含了标准的WPF Toolkit里没有的Windows Presentation Foundation(WPF)控件、工具和组件。
博客包括 C#、WPF、UWP、dotnet core 、git 和 VisualStudio 和一些算法,所有博客使用 docx 保存
WPF 框架自己实现了一套触摸机制,但同一窗口只能支持一套触摸机制,于是这会禁用系统的触摸消息(WM_TOUCH)。这能够很大程度提升 WPF 程序的触摸响应速度,但是很多时候又会产生一些 Bug。
大多数时候我们只需要在 XAML 中就可以实现我们想要的各种界面效果。这使得你可能已经不知道如何在 C# 代码中创建同样的内容。
2018-08-15 07:42
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中复杂的东西,现在通过简单的文本就可以实现。
发布于 2018-08-15 07:42 更新于 2018-08-19 11:09
前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Windows Message派发给特定的窗口,实际上消息是被Post到特定窗口所在线程的消息队列,应用程序的消息循环再不断的从消息队列当中获取消息,然后再派发给特定窗口类的窗口过程来处理,在窗口过程中完成一次用户交互。 其实,WPF的底层也是基于Win32的消息系统,那么对于WPF应用程序来说,它是如何跟Win32的消息交互,这里到底存在一个什么样的机制?接下
默认的 WPF 为了保持行为兼容,没有开启弱事件的内存优化。可以在 WPF 中指定 Switch.MS.Internal.EnableWeakEventMemoryImprovements 和 Switch.MS.Internal.EnableCleanupSchedulingImprovements 开关来让 WPF 运行在 .NET Framework 4.8 或 .NET Core 3.0 以上版本时,自动开启弱事件内存优化。通过这个开关,将会更改部分行为,但是基本上不会有影响,因为影响的都是内存啥时候回收。这些开关和 WPF 应用所使用的开发版本无关,只和 WPF 应用所运行在的设备环境有关,如果在运行的设备上安装了 .NET Framework 4.8 版本,那么自动将会应用上,否则这个开关就和没有写一样
本文来告诉大家如何在 WPF 应用 HOST 了 UWP 的 InkCanvas 控件时,给 InkCanvas 控件设置背景色,加上按钮等业务功能的实现方法
WPF用户界面框架提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面,是我们在编译中也会用到的一种框架。对于EasyPlayerPro的播放我们也尝试了通过WPF执行,下面分享下我们WPF播放EasyPlayerPro控件改变位置的方式。
This article is written in both English and Chinese. 本文使用中文和英文两个版本。 在 win10 的 17025(直到 17134 也就是正式版 1803 也没有修复) 可以容易让 UWP 触摸失效。做法是创建一个窗口背景是透明的 wpf 程序,把他置顶,这时所有 uwp 程序就无法触摸。在正式版 17134 是所有的触摸程序都触摸失效,除了可以把触摸转鼠标的程序如 VisualStudio 和 QQ 还能使用,如 Edge 和 Chrome 都无法使用。 I found the easy way to make the UWP app touch not work in win10 17025(until 17134). To create a wpf app with transparent background and make it Topmost, you can see all of the UWP app’s touch not work.
在 WPF 框架开发中,其实很少有开发者有足够的勇气去更改现有的框架逻辑,因为 WPF 的功能十分庞大,很难测试全。更多的开发都是加功能以及开放已有功能。整个 WPF 框架的大体设计是十分好的,可以在框架里面遵循对修改关闭的原则,定制化更多的是做注入,调用 internal 权限成员 本文告诉大家如何给 WPF 框架加入 InternalsVisibleToAttribute 特性让其他程序集可以访问 internal 权限成员
PropertyGrid Winforms's PropertyGrid 非WPF原生支持, 需要借助WinFormHost 风格不可定制 PropertyInspectorView 算是"官方
WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。
**WPF UI ** 库是 Microsoft 应用商店中提供的免费应用程序,您可以使用它测试所有功能。
大概在2009年中的时候,偶然看到WPF这词,还不明白它是用来干嘛的!后来下载了一个WPF写的Demo,这个是一个计算营养计算的程序,绚丽的UI界面以及各种动画效果让我吃惊不小,很难相信这个是.net开发的。后来我才知道这就是WPF的魅力!
从业人员数量分析:在操作系统市场份额中Android系统市场占比为41.14%,Windows市场占比为31.36%。微软依靠“WinTel”+“软件付费”模式,而谷歌依靠“Android+ARM”+"免费流量+增值服务"模式,Win系统占率呈下滑态势。国内90%开发者都在使用JAVA,Python等其它开发语言,按照工信部公布程序员从业数量在600万左右,C#程序员编程语言排行榜占6%计算保守估计有36万人,推算WPF从业人数在5万人以上。 优势:由于微软官方工具Prism仍在更新(2021年5月),很多企业不会马上迁移到最新的操作系统的理由:太花钱,太费时间,风险太大,迁移数据,开会并学习对业务,同时还要解决新语言开发debug问题。 劣势:大学几乎没有开这门课程,导致不能推动WPF向前更好发展,企业难招到合适的WPF程序员,很多企业面临选择其它开发语言。
本文主要介绍在 WPF 中,当属性变动后,如何依据是哪个属性变动了,以及其变动的值的情况来进行相应业务处理的推荐的方式;以及如果要恢复属性的原始值,可以怎么做。
去年中我曾考虑将我的控件库项目Kino.Toolkit.Wpf升级到.NET Core,不过很快放弃了,因为当时.NET Core是预览版,编译WPF还需要使用最新的Visual Studio 2019,这样作为一个教学项目不够友好。到了今天.NET Core 3.1都出来了,已经正式支持WPF和Winform,Visual Studio 2019也已经普及,我觉得应该是时候将我的控件库升级到.NET Core。那么现在是WPF正式迁移到.NET Core的好时机吗?我认为还不是,把一个成熟的WPF程序迁移到.NET Core风险任然较大,而且不见得有多少好处。但对各种WPF类库/控件库来说情况又不一样了,为了可以满足更多的用户,让控件库可以同时支持.NET Framework和.NET Core十分重要;而且通常类库对其它组件的依赖较少,升级的风险没那么大。所以要玩.NET Core的WPF,从类库/控件库开始是一个好的选择。
早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expression Blend(即'Sparkle')。它跟Martin Fowler的Presentation Model非常相似,唯一不同的是,它填平了presentation model和使用了WPF的丰富的数据绑定的view之间的沟壑。在Dan Crevier发表了神作DataModel-View-ViewModel series博文系列之后,(D
近期,小伙伴们反映,B/S端工作难找,无论是.NET还是其它语言。与此同时,桌面端WPF和WinForm应用的招聘需求增加,尤其是WPF。前段时间,联想还招聘WPF开发岗位。本文分享了一些WPF面试题,供大家参考。先列出试题,大家先试做一下,后面给出参考答案。
领取专属 10元无门槛券
手把手带您无忧上云