原文:为 WPF 程序添加 Windows 跳转列表的支持 Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的.当时应用程序要想用上这样的功能需要调用 shell 提供的一些 API. 然而在 WPF 程序中使用 Windows 跳转列表功能非常简单,在 XAML 里面就能完成.本文将介绍如何让你的 WPF 应用支持 Windows 跳转列表功能. 本文内容 一个简单的跳转列表程序 定制跳转列表的功能 一个简单的跳转列表程序…
这篇博客介绍如何在Windows 7下应用Windows 8的主题. 首先我们先看一个很常见的场景,同样的WPF程序(样式未重写)在不同的操作系统上展示会有些不同.这是为什么呢?WPF程序启动时会加载与操作系统对应的主题.下面将列出常见的OS主题与WPF主题的关系. 针对不同操作系统的主题,WPF程序会加载不同的主题assembly.这样就形成了同样的XAML代码在不同的OS中展示效果. 回到这篇博客的主题,为Windows 7下的WPF程序应用Windows 8主题.通过上面的表格,可以知道,…
最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误: {     "ClassName" : "System.Windows.Markup.XamlParseException",     "Message" : "The image format is unrecognized.",     "Data" : {   …
  首先,需要向项目中的reference添加两个dll,一个是.NET库中的System.Windows.Forms,另外一个是WindowsFormsIntegration,它的位置一般是在C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF 里. 添加完两个dll以后,就可以在控件库中找到WindowsFormsHost这个控件了.这个控件是我们添加Windows Form控件的基础.跟别的其他的控件一样,它也是可控的,可以自定义它在窗口中的位…
很多时候我们开发的程序可能会在多个版本的Windows上运行,比如XP.Win7.Win8. 为了程序美观,现在很多公司会使用WPF作为程序的界面设计. 跨版本的操作的操作系统往往有一些字体上的问题,比如Win7和Win8有微软雅黑字体,而XP上没有(虽然微软已经明确不在维护XP,但往往还是有很多一部分使用者会使用相当长一段时间,比如医疗机构.企事业单位),还有的一种情况就是为了程序效果的需要而使用一些特殊的字体. WPF程序只要下面几个步骤就可以为程序自带字体,而不需要放到系统目录的Fonts…
1.使用SessionEnding事件 参考MSDN. 2.在需要处理 关机事件中可以注册SessionEnding事件 App.Current.SessionEnding += Current_SessionEnding; private void Current_SessionEnding(object sender, SessionEndingCancelEventArgs e) { //处理一些事情 DoExit(); }…
介绍 由于历史原因,基于 Windows 平台存在着大量的基于 .NetFramework 开发的 WPF 和 WinForm 相关程序,如果将这些程序全部基于 DotNetCore 3.0 重写一遍显然是不现实的,但是 DotNetCore 是未来发展的趋势.所以本文通过以 WPF 为例,介绍一下如何将传统 WPF 迁移到 DotNetCore 3.0 上. 环境 我在之前的一篇文章 DotNetCore 3.0 助力 WPF 开发 有提到过,如果想开发基于 DotNetCore 3.0 的…
今天在Win8下使用了一个我之前写的一个WPF程序的时候,发现现在也支持Win8效果了(记得以前的.net 4.0的版本是不支持的).由于WPF的控件是自绘的,并不受系统主题所控制,也就是说.net 4.5中是附带了Win8主题样式文件的,按理说这个风格在Win7下也可以使用的.研究了一下发现,默认主题是存放在如下几个DLL文件中的, 程序启动的时候,默认会根据系统的版本加载相应的主题.例如Win8就加载AeroLite.dll,Win7就加载Aero.dll.用ILSpy可以看到其具体的路径…
原文:WPF 4 开发Windows 7 跳转列表(JumpList)      在之前写过的<Windows 7 任务栏开发系列>中我们通过Visual Studio 2008 借助微软提供的Windows API Code Pack 对应用程序的任务栏进行开发,即将到来的Visual Studio 2010 为我们提供了更方便的开发方式,新版本的WPF 4 只需要通过XAML 代码即可实现Windows 7 任务栏的特性.本篇将针对JumpList(跳转列表)进行介绍,同时体验下.NET…
Windows 10 10586 出来了也挺久的了,应该大部分都从 10240 升级到这个版本了.在 10586 中,微软添加了 200 多个新的 API,具体 API 的变动,大家可以点击下面这个链接来看: http://martinsuchan.github.io/ApiPeek/Diffs/win10.10240.to.win10.10586.fulldiff.html 其中不乏许多人都感兴趣的 HoloLens 的 API.不过现在连工程机都没几个人有的情况下(而且出了我也买不起),我还…