自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dino.c

微软最有价值专家,Windows Developer

  • 博客(85)
  • 资源 (1)
  • 收藏
  • 关注

原创 [WPF] 使用 MVVM Toolkit 构建 MVVM 程序

1. 什么是 MVVM Toolkit模型-视图-视图模型 (MVVM) 是用于解耦 UI 代码和非 UI 代码的 UI 体系结构设计模式。 借助 MVVM,可以在 XAML 中以声明方式定义 UI,并使用数据绑定标记将 UI 链接到包含数据和命令的其他层。微软虽然提出了 MVVM,但又没有提供一个官方的 MVVM 库(多年前有过 Prism,但已经离家出走了)。每次有人提起 MVVM 库,有些人会推荐 Prism(例如我),有些人会推荐 MVVMLight。可是现在 Prism 已经决定不再支持

2021-08-24 09:18:23 1564

原创 [WPF] 使用 Visual Studio App Center 持续监视应用使用情况和问题

1. 什么是AppCenterVisual Studio App Center 是几个常见移动开发和云集成服务(如持续集成、持续交付和自动 UI 测试等服务)的集合。 这些 App Center 服务可以针对 iOS、Android、WPF/Winforms、通用 Windows 平台 (UWP) 和 tvOS 应用运行。App Center 服务使开发人员可以轻松地生成、测试和分发应用程序。 应用由测试人员或客户使用之后,App Center 会提供服务来监视其应用的使用情况和问题。作为一个桌面软件

2021-08-24 09:15:53 500

原创 [Azure DevOps] 如何使用任务组

1. 使用 PowerShell 脚本在上一篇文章中我们学会了怎么使用扩展在编译前实时更改版本号。有些情况下我们希望不适用扩展,例如喜欢发明轮子,或者根本没有安装扩展的权限。这时候我们可以自己写 PowerShell 解决这个问题。在 Pipeline 中添加一个 PowerShell 的任务,Type 选择 Inline,然后在 Script 里输入这段 PowerShell 脚本:$ComponentPath = $Env:Build_SourcesDirectory$VersionNumber

2021-06-23 13:38:01 325 1

原创 [Azure DevOps] 编译时自动修改版本号

1. 需求在使用 Pipeline 自动化 CI/CD 流程的过程中,我还还需要自动修改程序集的版本号。这个功能 EdiWang 和LeoLaw 都写文章讲解过做法。不过我的项目基本都是 .Net Framework 项目,而且我的版本号规则也不一样,所以这里分享一下我的做法。我用的规则版本号规则是 [Major].[Minor].[BuildId].0,其中:进行不兼容的 API 更改时,Major 将会增加以后向兼容方式添加功能时,Minor 将会增加Buildid 是一个也称为运行 ID

2021-06-23 13:37:25 549

原创 [Azure DevOps] 使用 Inno Setup 制作桌面软件安装包

1. 桌面应用程序的 CI/CD桌面应用程序的 CI/CD 过程和网站有一些不同,毕竟桌面应用程序的“部署”只是将安装包分发到目标位置,连应用商店都不用上,根据公司的管理流程可以很复杂,也可以很简单。在简单的情况下,Azure Pipelines 中一个桌面应用(WPF)的 CI/CD 过程如下:触发器启动 Pipeline构建 WPF 应用程序启动单元测试以确保构建质量创建安装包将安装包复制到目标位置通知用户新安装包已经可以获取在使用 Azure Pipelines 实现 CI 这篇文

2021-06-23 13:35:41 356

原创 [Azure DevOps] 如何安装并配置 Build Agent

1. 编译服务器在 Azure Pipelines 中至少需要一个编译服务器的 Agent 才能编译代码或发布软件。Azure DevOps 本身已经提供了一个 Agent,但出于各种理由(需要特殊的编译打包环境、需要更高的性能、需要更多的控制权等)很多时候需要一些自托管代理。这篇文章将讲解如何在 Windows 系统上安装及配置 Build Agent(主要基于之前几篇文章所构建的环境)。2. 下载 Agent 安装程序首先进入要安装 Build Agent 的 Windows 系统,然后访问 Az

2021-06-23 13:34:18 744

原创 [Azure DevOps] 获取单元测试的代码覆盖率

1. 获取代码覆盖率上一篇文章里,我们在 Pipeline 中插入一个单元测试并把所有单元测试都通过作为 Pipeline 通过的硬性要求。除此以外,我们还可以获取单元测试的代码覆盖率,用作衡量代码质量的指标。代码覆盖率没有一个标准,各个项目有各个项目的造化,不一定更高的单元测试覆盖率就代表项目的代码质量高。不过通过观察代码覆盖率的趋势也可以从另一个角度衡量项目的代码质量。在 Azure Devops 有不同的方式生成代码覆盖率,例如使用 .NET Core CLI 编译项目的话可以参考这篇文章生成代

2021-06-23 13:33:24 384

原创 [Azure DevOps] 使用 Azure Pipelines 实现 CI

1. 什么是 Azure PipelinesAzure Pipelines 会自动构建和测试代码项目,以将其提供给其他人。它适用于任何语言或项目类型。Azure Pipelines 结合了持续集成 (CI) 和持续交付 (CD),以持续不断地测试和构建您的代码,并将代码运送到任何目标。在网上关于 Azure Pipelines 的教程很多,通常都是从 CI 到 CD 一条龙。但对于 WPF 来说也 CD 部分就有些尴尬,毕竟桌面应用通常不需要“部署”,所以这篇文章将只简单介绍如何创建编译 WPF 代码.

2021-06-23 13:32:13 2658 2

原创 [Azure DevOps] 使用 Azure Boards 管理工作

1. 什么是 Azure Boards通过 Azure Boards 网络服务,团队可以管理其软件项目。它提供了丰富的功能,包括 Scrum 和看板的本地支持、可定制的仪表板和集成报告。这些工具可以随着业务的发展而扩展。您可以快速轻松地开始跟踪与项目相关的用户故事、积压项目、任务、功能和错误。您通过根据项目可用的过程和工作项目类型添加工作项目来跟踪工作。上面是官方的说明,简单来说 Azure Boards 是 Azure Devops 提供的在线敏捷工具。Azure Borads 提供了很多很多功能.

2021-06-23 13:31:24 594 1

原创 [Azure DevOps] 使用 Azure Boards 管理工作

1. 什么是 Azure Boards通过 Azure Boards 网络服务,团队可以管理其软件项目。它提供了丰富的功能,包括 Scrum 和看板的本地支持、可定制的仪表板和集成报告。这些工具可以随着业务的发展而扩展。您可以快速轻松地开始跟踪与项目相关的用户故事、积压项目、任务、功能和错误。您通过根据项目可用的过程和工作项目类型添加工作项目来跟踪工作。上面是官方的说明,简单来说 Azure Boards 是 Azure Devops 提供的在线敏捷工具。Azure Borads 提供了很多很多功能.

2021-06-23 13:30:37 391

原创 [Azure DevOps] Azure DevOps 入门

1. 什么是 Azure DevOpsAzure DevOps 是由微软开发的服务平台,它提供了多种工具,可用于更好地进行团队协作。它还具有用于自动构建过程,测试,版本控制和程序包管理的工具。Azure DevOps 提供了 5 个主要模块:Azure Boards:这些是敏捷的工具,可以帮助我们规划、跟踪和讨论我们的工作,甚至与其他团队一起工作。Azure Repos:提供无限的、云托管的私人和公共 Git 存储库。Azure Pipelines:使用适用于任何语言、平台和云的 CI

2021-06-23 13:29:52 1348

原创 [UWP] 模仿哔哩哔哩的一键三连

1. 一键三连什么是一键三连?哔哩哔哩弹幕网中用户可以通过长按点赞键同时完成点赞、投币、收藏对UP主表示支持,后UP主多用“一键三连”向视频浏览者请求对其作品同时进行点赞、投币、收藏。去年在云之幻大佬的 哔哩 项目里看到一键三连的 UWP 实现,觉得挺有趣的,这次参考它的代码重新实现一次,最终成果如下:下面这些是一键三连的核心功能:可以控制并显示进度有普通状态和完成状态可以点击或长按当切换到完成状态时弹出写泡泡点击切换状态长按 2 秒钟切换状态,期间有进度显示这篇文章将介绍如

2021-03-15 11:27:38 674

原创 使用 XAML 格式化工具:XAML Styler

1. XAML 的问题刚入门 WPF/UWP 之类的 XAML 平台,首先会接触到 XAML 这一新事物。初学 XAML 时对它的印象可以归纳为一个词:一坨。随着我在 XAML 平台上工作的时间越来越长,我对 XAML 的了解就越来越深入,从语法、约束、扩展性等方方面面,我明白到 XAML 是桌面开发平台的一个最佳解决方案。这时候我已经对 XAML 有了改观,我重新用一个词归纳了我对它的印象:一大坨。没错,这时候我已经是一个成熟的 XAML 工人了,经过我熟练的双手产生了一坨又一坨 XAML,它们成长

2021-03-15 11:26:21 1030

原创 [WPF] 在单元测试中使用 Prism 的 EventAggregator,订阅到 ThreadOption.UIThread 会报错

1. 问题[TestClass]public class UnitTest1{ [TestMethod] public void TestMethod1() { ContainerLocator.Container.Resolve<TestViewModel>(); }}public class TestViewModel{ public TestViewModel(IEventAggregator eventAggregat

2021-03-15 11:25:37 648 3

原创 分别使用 Python 和 Math.Net 调用优化算法

1. Rosenbrock 函数在数学最优化中,Rosenbrock 函数是一个用来测试最优化算法性能的非凸函数,由Howard Harry Rosenbrock 在 1960 年提出 。也称为 Rosenbrock 山谷或 Rosenbrock 香蕉函数,也简称为香蕉函数。Rosenbrock 函数的定义如下:f(x)=100(y−x2)2+(1−x)2Rosenbrock 函数的每个等高线大致呈抛物线形,其全域最小值也位在抛物线形的山谷中(香蕉型山谷)。很容易找到这个山谷,但由于山谷内的值变化

2021-03-15 11:19:38 753

原创 在 Azure 上执行一些简单的 python 工作

1. 公司禁用了 python我的主业是桌面开发,偶尔也需要搞搞数据和算法。最近在用 python 处理一些工作,正搞得热火朝天,突然 python 就不能用了,一查记录原来是 IT 管理员禁止我使用 python。不清楚为啥 IT 管理员会盯上 python,总之先提交了解封的需求。在等 IT 给我解封的期间我不想中断自己的工作,只好自己想办法运行 python。我知道有很多在线运行 python 的环境,而且微软自己也有 Codespaces 和 Remote Development Extens

2021-03-15 11:18:51 424

原创 [C#] 老古董的 Microsoft Chart Controls 也可以进行数据预测

我要先声明,这篇文章介绍到的内容虽说不是不能用,但玩乐成分居多,大家看看就好,不要太认真。1. Microsoft Chart Controls 中的 FinancialFormula在上一篇文章 使用 Math.Net 进行曲线拟合和数据预测 中,我介绍了如何使用 Math.Net ,这篇文章玩玩“新”花样,用古老的 Microsoft Chart Controls 实现相同的功能。A long time ago in a galaxy far, far away… 微软推出了一套免费又强大的图

2021-03-15 11:18:22 495

原创 [C#] 使用 Excel 和 Math.Net 进行曲线拟合和数据预测

以前在工作中遇到了一个数据错误的问题,顺便写下 用 Math.Net 解决的思路。1. 错误的数据上图是同一组探测器在同一天采集到的 19 次数据,总体来说重复性不错,但很明显最后 8 个探测器出了问题,导致采集到的数据在最后八个点一片混乱。即使把其中看起来最好的一组数据拿出来使用多项式拟合,也可以看出最后几个点没有落在拟合曲线上(只拟合最后 14 个点):虽然我知道这是硬件问题,但是遇到事情不能坐以待毙,软件方面也许可以做些什么。既然我从上图中得知出了最后几个点之外,其它数据都在拟合曲线上,那我

2021-03-15 11:17:45 1552

原创 [WPF] 让第一个数据验证出错(Validation.HasError)的控件自动获得焦点

1. 需求在上一篇文章 《在 ViewModel 中让数据验证出错(Validation.HasError)的控件获得焦点》中介绍了如何让 Validation.HasError 的控件自动获得焦点,之后引申了另一个问题:如果有多个 HasError 的控件,如何只让第一个自动获得焦点。这需求比较常见,所以我试着解决这个问题,最终完成了一个 Demo,XAML 如下:<StackPanel local:ValidationService.IsValidationScope="True">

2021-03-15 11:15:59 721

原创 [WPF] 在 ViewModel 中让数据验证出错(Validation.HasError)的控件获得焦点

1. 需求在 MVVM 中 ViewModel 和 View 之间的交互通常都是靠 Icommand 和 INotifyPropertyChanged,不过有时候还会需要从 MVVM 中控制 View 中的某个元素,让它获得焦点,例如这样:上面的 gif 是我在另一篇文章 《自定义一个“传统”的 Validation.ErrorTemplate》 中的一个示例,在这个示例中我修改了 Validation.ErrorTemplate,这样在数据验证出错后,相关的控件会显示一个红色的框,获得焦点后用 Po

2021-03-15 11:15:09 595 1

原创 总结 Visual Studio 2019 发布以来 XAML 工具的改进

不知不觉,Visual Studio 2019 已经出到 16.8 和 16.9 Preview 了。虽然每次更新都林林总总地一大堆新功能和改进,但关于 XAML 的内容总是,always,每次都只有一点点。其实 Xamarin 相关的内容有在使劲地更新,不过和我做的 WPF/UWP 关系又不大。总算是积少成多,随着 Visual Studio 持续更新,现在 XAML 编辑器的使用体验已经比去年有了很大的改善。这篇文章就来总结下 Visual Studio 2019 发布后 XAML 工具的各个主要改变。

2020-12-17 21:12:08 625 2

原创 WinUI 3 Preview 3 发布了,再一次试试它的性能

1. WinUI 3在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI。最终 XAML 的新功能不再和 Windows SDK 绑定,所有新的 XAML 功能都将作为 WinUI 的一部分发布。 作为 OS 的一部分发布的现有 UWP XAML API 将不会再收到新的功能更新。 但是,它们会在 Windows 10 支持生命周期内继续收到安全更新和关键修复程序。2. WinUI 3 第三.

2020-12-17 21:11:22 1733

原创 [Windows] 在 Microsoft Docs 网站中挖掘 MVVM 的各种学习资源

最近写了一些 MVVM 框架的文章,翻了一些 Microsoft Docs 的文档,顺便就对 MVVM 本身来了兴致,想看看更多当年相关的文档。在 MVVM 出现后十多年,我在不同的场合见到过多种 MVVM 的实现方式,也看到过各种 MVVM 框架的多次改进(这些框架通常包含多个用于实现解耦体系结构的服务,在一定程度上使 MVVM 的确切定义变得模糊),这些都让我对 MVVM 的理解变得多样化。这种情况下重温一下 MVVM 的文档也并不是毫无意义。在 Microsoft Docs 网站上搜 “MVVM”.

2020-12-17 21:10:33 128

原创 [Windows] Prism 8.0 入门(下):Prism.Wpf 和 Prism.Unity

1. Prism.Wpf 和 Prism.Unity这篇是 Prism 8.0 入门的第二篇文章,上一篇介绍了 Prism.Core,这篇文章主要介绍 Prism.Wpf 和 Prism.Unity。以前做 WPF 和 Silverlight/Xamarin 项目的时候,我有时会把 ViewModel 和 View 放在不同的项目,ViewModel 使用 可移植类库项目,这样 ViewModel 就与 UI 平台无关,实现了代码复用。这样做还可以强制 View 和 ViewModel 解耦。现在,即

2020-12-17 21:09:55 1690 1

原创 [Windows] Prism 8.0 入门(上):Prism.Core

1. Prism 简介Prism 是一个用于构建松耦合、可维护和可测试的 XAML 应用的框架,它支持所有还活着的基于 XAML 的平台,包括 WPF、Xamarin Forms、WinUI 和 Uwp Uno。Prism 提供了一组设计模式的实现,这些模式有助于编写结构良好且可维护的 XAML 应用程序,包括 MVVM、依赖项注入、命令、事件聚合器等。Prism 是一个有10年以上历史的框架,而上个月才刚发布了它的 8.0 版本,这意味着现在网上能找到的大部分 Prism 的资料都已经有点过时,连 官

2020-12-17 21:09:19 1560 2

原创 [UWP]使用离散式关键帧播放动画

这篇文章介绍离散式关键帧,并使用它做些有趣的动画。1. 什么是离散式关键帧以DoubleAnimationUsingKeyFrames为例,它支持四种Double的关键帧,其中EasingDoubleKeyFrame、LinearDoubleKeyFrame和SplineDoubleKeyFrame可以归类为连续式关键帧,而DiscreteDoubleKeyFrame则是离散式关键帧。DoubleAnimationUsingKeyFrames包含一个关键帧的集合,动画开始后,每当达到某个关键帧指定的T

2020-12-17 21:08:42 354

原创 [工具]微软的学习平台Microsoft Learn很好用,推荐一下

1. 什么是Microsoft LearnMicrosoft Learn是微软这两年大力推广的全新学习平台,可提供 Microsoft 产品交互式学习体验。基本上无需登录即可使用,但登录后可以使用更多功能,包括:累积分数和成就跟踪学习活动进度使用免费的 Azure 资源配置文件和仪表板功能2. 选择课程Microsoft Learn的网站首页会提供“你可能喜欢的内容”,也可以浏览所有学习选项找到自己想学习的内容。学习内容有两种类型,分别是学习路径和模块:学习路径

2020-12-17 21:07:54 802

原创 [WPF] 考古Expression Web:微软当年最漂亮的WPF软件

1. 什么是Expression WebExpression Studio是微软在2007年推出的一套针对设计师的套件,其中包含专业的设计工具和新技术,可以弹性且自由地将设计方案转为实际——无论设计的是标准的网站、拥有丰富用户经验的桌面应用,或是管理数字资产和内容。它包含以下部分:Expression Blend 4 + SketchFlowExpression Web 4 + SuperPreviewExression Design 4Expression Encoder Pro具体信息

2020-12-17 21:06:17 1057 1

原创 WinUI 3 试玩报告

1. 什么是 WinUI 3在微软 Build 2020 开发者大会上,WinUI 团队宣布可公开预览的 WinUI 3 Preview 1,它让开发人员可以在 Win32 中使用 WinUI。WinUI 3 Preview 1 包含新的 VisualStudio 项目模板,可以创建面向 .NET 5 的 C# 和 C++/Win32 项目。从技术上讲,WinUI 3 将 UWP 的 XAML、Composition 和 Input 层分离,并通过NuGet将它们独立分发给针对Windows 10 版本.

2020-06-08 09:14:53 4464 5

原创 [WPF]总结一些我在开发WPF时常用的工具

我从一万二千年前开始写XAML,这么多年用了很多各式各样的工具,现在留在电脑里的、现在还在用的、在写WPF时用的也就那么几个。这篇文章总结了这些工具,希望这些工具可以让WPF开发者事半功倍。1. Visual StudioVisual Studio应该无需介绍,它是“面向任何开发者的同类最佳工具”。对WPF来说Visual Studio既是鸡又是蛋,WPF开发者甚至有时会反编译它的代码参考参...

2020-03-31 09:49:00 1211

原创 [UWP]使用AlphaMaskEffect提升故障艺术动画的性能(顺便介绍怎么使用性能探测器分析UWP程序)

前几天发布了抄抄《CSS 故障艺术》的动画这篇文章,在这篇文章里介绍了如何使用Win2D绘制文字然后配合BlendEffect制作故障艺术的动画。本来打算就这样收手不玩这个动画了,但后来又发现性能不符合理想。明明只是做做Resize动画和用BlendEffect混合,为什么性能会这么差呢?1. 分析原因其实不用分析都知道哪里出问题了,毕竟这个懒是自己偷的,不过这里顺便介绍介绍Visual St...

2020-03-31 09:43:13 229

原创 [UWP]抄抄《CSS 故障艺术》的动画

1. 前言什么是故障艺术(Glitch Art 风)?我们熟知的抖音的 LOGO 正是故障艺术其中一种表现形式。它有一种魔幻的感觉,看起来具有闪烁、震动的效果,很吸引人眼球。故障艺术它模拟了画面信号出现故障导致成像错误的感觉。青色色块与红色色块无法重合就是这种故障的体现。从胶片时代开始到今天的数码时代,这种故障一直是观众非常熟悉的现象。上个月看到CSS 故障艺术这篇文章,最近想转换心情于是...

2020-03-27 09:11:18 216

原创 [Microsoft Teams]使用连接器接收Azure Devops的通知

1. 什么是连接器连接器(connector)是Teams中频道的一个接受消息的功能,官方的解释如下:连接器允许用户订阅来自 web 服务的接收通知和消息。 它们公开服务的 HTTPS 终结点,通常以卡片形式发布消息。简单来说就是Teams提供了一个接口, web服务可以通过这个接口推送消息给Teams的频道。2. 为什么要用连接器接受来自Azure Devops的消息?因为微软提供...

2020-03-23 12:51:49 1489

原创 [WPF 自定义控件]自定义一个“传统”的 Validation.ErrorTemplate

1. 什么是Validaion.ErrorTemplate数据绑定模型允许您将与您Binding的对象相关联ValidationRules。 如果用户输入的值无效,你可能希望在应用程序 用户界面 (UI) 上提供一些有关错误的反馈。 提供此类反馈的一种方法是设置Validation.ErrorTemplate附加到自定义ControlTemplate的属性。有关验证的详细讨论, 请参阅数据绑...

2020-03-23 12:50:55 720

原创 [WPF 自定义控件]在MenuItem上使用RadioButton

1. 需求上图这种包含多选(CheckBox)和单选(RadioButton)的菜单十分常见,可是在WPF中只提供了多选的MenuItem。顺便一提,要使MenuItem可以多选,只需要将MenuItem的IsCheckable属性设置为True:<MenuItem IsCheckable="True"/>不知出于何种考虑,WPF没有为MenuItem提供单选的功能。为了在M...

2020-03-23 12:50:29 739

原创 [WPF 自定义控件]创建包含CheckBox的ListBoxItem

1. 前言Xceed wpftoolkit提供了一个CheckListBox,效果如下:不过它用起来不怎么样,与其这样还不如参考UWP的ListView实现,而且动画效果也很好看:它的样式如下:<ListViewItemPresenter ContentTransitions="{TemplateBinding ContentTransitions}" x:Name="R...

2020-03-23 12:46:22 1283

原创 [UWP]用画中画模式(CompactOverlay Mode)让用总在最前端显示

1. 什么是,以及怎么用画中画Windows 10 Creators Update以后UWP提供了一个新的视图模式CompactOverlay,中文翻译成 紧凑的覆盖层?反正大部分时间我们都会称它为画中画模式。上图中右上角即为进入画中画模式的微软“电影和电视”应用。可以调用ApplicationView.TryEnterViewModeAsync函数进入或退出CompactOverlaye...

2020-03-23 12:45:52 290

原创 [UWP]XAML中的响应式布局技术

响应式布局的概念是一个页面适配多个终端及不同分辨率。在针对特定屏幕宽度优化应用 UI 时,我们将此称为创建响应式设计。WPF设计之初响应式设计的概念并不流行,那时候大部分网页设计师都按着宽度960像素的标准设计。到了UWP诞生的时候响应式布局已经很流行了,所以UWP提供了很多响应式布局的技术,这篇文章简单总结了一些响应式布局常用的技术,更完整的内容请看文章最后给出的参考网站。1. 传统的XAML...

2020-03-23 12:44:56 243

原创 [UWP]在应用退出时弹出确认提示框

1. 需求在应用退出时(点击右上角的关闭按钮)弹出一个确认按钮可以说是一个最常见的操作了,例如记事本的“你是否保存”:但这个功能在UWP上居然有点小复杂。这篇文章将解释如何实现这个功能。2. CloseRequested为了监视应用退出事件,我本来使用了CoreApplication.Exiting,但好像并不起作用,后来我就没再研究它的触发机制了。在Windows 10 Creator...

2019-12-12 09:27:31 501

原创 [UWP]使用CompositionGeometricClip裁剪复杂图形及进行动画

1. UWP中的其它裁剪方案之前在 这篇文章 里,我介绍了如何使用UIElement.Clip裁剪UIElement的内容,使用代码如下:<Canvas> <Image Source="Images/Water_lilies.jpg" Width="200" Height="150"> <Image.Clip> ...

2019-12-12 09:26:56 109

CoreFx源码

。net core 最新源码,适合想学习。net core 的人。更新的源码可在Github下载。

2018-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除