胡承 - Windows 10 Developer
C#里面的async/await
语法简直好用的不要不要的。但是,如果我想让这种异步状态机,能工作在我自定义的线程里面要怎么办呢?
正常情况下,一个x86的应用,最多能使用多少内存呢?
.NET处理异常比较简单,一般有三种方式全局处理异常。
图片是一种比较占内存的资源,尤其是高分辨率的图片。当我们的图片控件隐藏了,不需要显示的时候,这个时候图片还逗留在内存中,就太浪费资源了。
当我们在定义一个依赖属性的时候,通常是需要重写属性元数据,以便做我们想做的工作。
WPF的绑定机制提供了非常便利的数据更新途径,在实际业务中,我们可以会遇到我们的UI组件,需要绑定到数据源上的某个数组中的指定的索引项。这种场景相对来讲是比较少用……
大家在使用log4net的时候,常规的用法都是在配置文件里面进行设置。但是配置文件里面的配置项非常多,不利于记忆,所以说我们希望他能直接在代码中设置。
在WPF中,剪切板是一个静态类,设置剪切板很简单。如:将文本添加到剪切板,只需要调用下Clipboard.SetText(Text);
就行了。
逻辑分页是非常常用的一种性能优化的技术手段。虽然像ListView
,ListBox
有提供虚拟化的技术,能让我们加载大量数据而不会出现卡顿。但是……
这个问题,相信大部分同学都知道,实现这个效果,只需要对Canvas
上的子元素进行坐标换算。
同样的,Win10操作系统更新后,软件花屏了!
操作系统更新后,软件出现各种bug~ 乍一看,md5加密算法跪了!
就做个备忘录~
前面的文章我们提及过,异步UI的基础实现。基本思路主要是开启新的UI线程,并通过VisualTarget将UI线程上的Visual(即RootVisual)连接到主线程上的UI上即可渲染显示。
但是,之前的实现访问是没有交互能力的,视觉树上的UI并不能实现鼠标事件。那么今天我们就把交互的工作也给完成了。
实现交互能力的核心在于PresentationSource
,它是完成交互功能的核心。它提供了交互源,它是一个抽象类,不能直接使用。我们需要通过继承它来实现交互逻辑。
FFMpeg的nuget包有好几种,这里选择了使用FFMpeg命令行的封装包Xabe.FFmpeg
。因为Xabe.FFmpeg
实际上也是通过调用FFMpeg.exe
文件,通过命令行传参的方式实现,所以在使用之前,需要先下载FFMpeg
文件,并将bin
目录加入到系统的环境变量。