WPF.NET 专栏
文章平均质量分 90
专注WPF.NET技术分享与学习交流
吉特思米(gitusme)
Coding life, Coding world, Coding feature.
展开
-
【WPF.NET开发】优化性能:其他建议
本主题提供其他的性能改进建议。原创 2024-02-06 07:19:35 · 1516 阅读 · 0 评论 -
【WPF.NET开发】优化性能:控件
Windows Presentation Foundation (WPF) 包含大多数 Windows 应用程序中使用的许多常见用户界面 (UI) 组件。本主题包含提高 UI 性能的技术。原创 2024-02-05 08:41:23 · 1503 阅读 · 0 评论 -
【WPF.NET开发】优化性能:文本
WPF 支持通过使用功能丰富的用户界面 (UI) 控件来呈现文本内容。通常可以将文本呈现分为三层:直接使用和对象。使用对象。使用高级控件,如和对象。本主题提供文本呈现性能方面的建议。原创 2024-02-03 12:37:02 · 1249 阅读 · 0 评论 -
【WPF.NET开发】优化性能:对象行为
了解 WPF 对象的内部行为有助于在功能和性能之间做出适当的取舍。原创 2024-02-03 08:13:33 · 1509 阅读 · 0 评论 -
【WPF.NET开发】优化性能:数据绑定
Windows Presentation Foundation (WPF) 数据绑定功能提供了一种简单一致的方法来呈现应用程序和与数据交互。元素能够以 CLR 对象和 XML 的形式绑定到各种数据源中的数据。本主题提供数据绑定性能方面的建议。原创 2024-01-31 12:56:22 · 1061 阅读 · 0 评论 -
【WPF.NET开发】优化性能:应用程序资源
WPF 允许共享应用程序资源,以便支持跨类似类型元素的一致性外观或行为。本主题在此区域中提供了一些建议,可帮助你提高应用程序的性能。原创 2024-01-31 07:51:44 · 502 阅读 · 0 评论 -
【WPF.NET开发】优化性能:布局和设计
WPF 应用程序的设计可能会在计算布局和验证对象引用时产生不必要的开销,从而影响性能。对象的构造会影响应用程序的性能特征,在运行时更是如此。本主题提供这些方面的性能改进建议。原创 2024-01-30 17:49:51 · 1510 阅读 · 0 评论 -
【WPF.NET开发】优化性能:利用硬件
WPF 的内部体系结构有两个呈现管道,硬件和软件。本主题提供有关这些呈现管道的信息,以帮助做出有关应用程序性能优化的决策。原创 2024-01-30 12:14:38 · 548 阅读 · 0 评论 -
【WPF.NET开发】优化性能:图形呈现层
图形硬件的功能决定了 WPF 应用程序的呈现功能。呈现层 0- 无图形硬件加速。所有图形功能都使用软件加速。DirectX 版本级别低于 9.0。呈现层 1- 某些图形功能使用图形硬件加速。DirectX 版本级别高于或等于 9.0。呈现层 2- 大多数图形功能都使用图形硬件加速。DirectX 版本级别高于或等于 9.0。属性可用于在应用程序运行时检索呈现层。使用呈现层可确定设备是否支持某些硬件加速图形功能。然后,应用程序就可以在运行时根据设备支持的呈现层采用不同的代码路径。原创 2024-01-30 08:06:07 · 1288 阅读 · 0 评论 -
【WPF.NET开发】优化性能:二维图形和图像处理
WPF 提供了多种可按应用程序要求进行优化的 2D 图形和图像处理功能。本主题提供有关这些方面性能优化的信息。原创 2024-01-29 13:18:09 · 1401 阅读 · 2 评论 -
【WPF.NET开发】优化性能:应用程序启动时间
启动 WPF 应用程序所需的时间可能存在极大差异。本主题介绍用于减少 Windows Presentation Foundation (WPF) 应用程序假设启动时间和实际启动时间的各种技巧。原创 2024-01-29 07:56:35 · 1525 阅读 · 0 评论 -
【WPF.NET开发】规划WPF应用程序性能
目标有助于确定应用程序的执行速度是快还是慢。应为所有场景定义目标。你定义的所有性能目标都应基于客户的期望。在应用程序开发周期的早期设置性能目标可能很困难,因为那时仍然有许多未解决的问题。然而,最好设置初始目标,后续再加以修订,总比根本没有目标要好。原创 2024-01-28 21:02:56 · 1040 阅读 · 0 评论 -
【WPF.NET开发】WPF 中的 Layout
WPF 包含一组派生自Panel的元素。这些Panel元素支持许多复杂的布局。例如,使用StackPanel元素可以轻松实现堆叠元素,而使用Canvas可实现更复杂和自由流动的布局。下表汇总了可用的布局Panel元素。面板名称说明Canvas定义一个区域,可在其中通过相对于Canvas区域的坐标显式定位子元素。DockPanel定义一个区域,可在其中使子元素相互水平或垂直排列。Grid定义由列和行组成的灵活的网格区域。StackPanel将子元素排列成水平或垂直的一行。为虚拟化其子数据集合的Panel。原创 2024-01-25 12:55:53 · 1794 阅读 · 0 评论 -
【WPF.NET开发】WPF中的双向功能
在实际的应用程序中,可能需要以编程方式设置语言。例如,希望将。原创 2024-01-25 08:38:22 · 2193 阅读 · 0 评论 -
【WPF.NET开发】验证和合并 PrintTicket
Microsoft Windows 打印架构包括灵活且可扩展的和元素。前一个元素逐条列出打印设备的功能,后一个指定设备应如何使用这些功能来处理特定文档序列、单个文档或单个页面。支持打印的应用程序的典型任务序列应如下。确定打印机的功能。配置一个,用来使用这些功能。验证。本文介绍如何执行此操作。原创 2024-01-24 13:33:18 · 532 阅读 · 0 评论 -
【WPF.NET开发】远程调查打印机的状态
在大中型公司,在任何给定时间里,都可能发生由于卡纸、纸张用完或某些其他有问题而导致多台打印机无法工作的情况。Microsoft .NET Framework 的 API 中公开的一组丰富的打印机属性提供一种方法,用于快速调查打印机状态。原创 2024-01-24 07:57:35 · 960 阅读 · 0 评论 -
【WPF.NET开发】克隆打印机
大多数企业有时会购买多台同一型号的打印机。通常,这些打印机都安装了几乎相同的配置设置。安装每台打印机既费时又容易出错。使用 Microsoft .NET Framework 公开的命名空间和类可以立即安装从现有打印队列克隆的任意数量的附加打印队列。原创 2024-01-23 22:27:28 · 516 阅读 · 0 评论 -
【WPF.NET开发】以编程方式打印XPS文件
可以使用方法的一个重载来打印 XML 纸张规范 (XPS) 文件,而根本无需打开或任何用户界面 (UI)(从原理上讲)。还还可以使用多种和方法打印 XPS 文件。打印 XPS 的另一种方法是使用或方法。原创 2024-01-20 13:01:01 · 1142 阅读 · 0 评论 -
【WPF.NET开发】将字体与应用程序一起打包
可以轻松地将字体作为资源打包在 WPF 应用程序中,以显示用户界面文本和基于文本的其他类型的内容。字体可以与应用程序的程序集文件分开,也可以嵌入到这些程序集文件中。还可以创建纯资源字体库,以供应用程序引用。OpenType 和 TrueType® 字体包含类型标志 fsType,指示字体的字体嵌入许可权。但是,这个类型标志仅引用存储在文档中的嵌入字体,而不引用嵌入到应用程序中的字体。可以通过创建对象并引用其属性来检索字体的字体嵌入权。原创 2024-01-20 12:59:32 · 1153 阅读 · 0 评论 -
【WPF.NET开发】OpenType字体
本主题概述了 Windows Presentation Foundation (WPF) 中 OpenType 字体技术的一些主要功能。原创 2024-01-15 08:36:19 · 1060 阅读 · 0 评论 -
【WPF.NET开发】WPF中的版式
本主题介绍 WPF 的主要版式功能。这些功能包括改进的文本呈现质量和性能、OpenType 版式支持、增强的国际文本、增强的字体支持和新的文本应用程序编程接口 (API)。原创 2024-01-15 08:35:14 · 1399 阅读 · 0 评论 -
【WPF.NET开发】流文档
流文档旨在根据窗口大小、设备分辨率和其他环境变量来“重排内容”。此外,流文档还具有很多内置功能,包括搜索、能够优化可读性的查看模式以及更改字体大小和外观的功能。当易读性是文档的主要使用要求时,最适合使用流文档。相反,固定文档旨在提供静态表示形式。当源内容的保真度至关重要时,就适合使用固定文档。下图演示在多个不同大小的窗口中查看同一个示例流文档的情况。随着显示区域的变化,内容将重新布局,以充分利用可用空间。如上图所示,流内容可包括多个组成部分,包括段落、列表、图像等等。原创 2024-01-14 08:18:31 · 1216 阅读 · 0 评论 -
【WPF.NET开发】文档批注
在纸质文档上编写说明或注释毫不稀奇,我们几乎认为这是理所当然的。这些说明或注释就是“批注”,我们将其添加到文档,用于标注信息或突出显示兴趣项以供日后参考。虽然在打印文档上编写注释很简单也很平常,但是就算在所有电子文档上添加个人注释,功能上却通常有很多限制。原创 2024-01-14 08:16:40 · 1025 阅读 · 0 评论 -
【WPF.NET开发】WPF中的XAML资源
资源是可以在应用中的不同位置重复使用的对象。资源的示例包括画笔和样式。本概述介绍如何使用 Extensible Application Markup Language (XAML) 中的资源。你还可以使用代码创建和访问资源。备注本文所述的 XAML 资源与应用资源不同,后者通常指添加到应用中的文件,例如内容、数据或嵌入式文件。原创 2024-01-13 13:29:55 · 1282 阅读 · 0 评论 -
【WPF.NET开发】WPF中的文档
和。包含使用户能够动态选择各种查看模式的功能,这些查看模式包括单页(一次一页)查看模式、一次两页(书本阅读格式)查看模式和连续滚动(无界限)查看模式。有关这些查看模式的详细信息,请参阅。如果不需要在不同查看模式之间动态切换的功能,则可使用和,它们提供了固定使用特定查看模式的轻量级流内容查看器。FlowDocumentPageViewer 和 FlowDocumentScrollViewer以一次一页的查看模式显示内容,而以连续滚动模式显示内容。和都固定使用特定查看模式。相比之下,原创 2024-01-13 13:29:04 · 1415 阅读 · 0 评论 -
【WPF.NET开发】在用户控件上启用拖放功能
在本演练中,将创建一个表示圆形的自定义 WPF。你将在该控件上实现可通过拖放进行数据传输的功能。例如,如果从一个圆形控件拖到另一个圆形控件,则会将填充颜色数据从源圆形复制到目标圆形。如果从一个圆形控件拖到,则填充颜色的字符串表示形式将复制到。你还将创建一个小应用程序,该应用程序包含两个面板控件和一个,用以测试拖放功能。你将编写可使面板处理放置的圆形数据的代码,这样就可以将圆形从一个面板的 Children 集合移动或复制到其他面板。本演练阐释了以下任务:创建自定义用户控件。使用户控件成为拖动源。原创 2024-01-12 07:43:14 · 1541 阅读 · 0 评论 -
【WPF.NET开发】WPF中的拖放
默认情况下,通过更改光标将反馈提供给用户,以便表示拖放操作将对数据产生的影响,例如将移动数据还是复制数据。你可以根据 ESC、SHIFT、CTRL 和 ALT 键以及鼠标按钮的状态处理此事件,以确定结束拖放操作的操作。若要处理对象实例的拖放事件,请为上表中所列的事件添加处理程序。若要实现基本拖放,请编写用于启动拖放操作和处理放置的数据的代码。拖放操作通常涉及两个参与方:拖动对象所源自的拖动源和接收放置对象的拖放目标。下表总结了标准的拖放事件。值仅用于提供有关拖放操作效果的拖动源和拖放目标之间的通信。原创 2024-01-12 07:42:07 · 1684 阅读 · 0 评论 -
【WPF.NET】演练:创建触控应用程序
WPF 使应用程序能够响应触控。例如,可以通过在触控敏感型设备(如触摸屏)上使用一根或多根手指与应用程序交互。本演练创建了一个应用程序,使用户能够使用触控来移动、旋转单个对象或重设其大小。原创 2024-01-07 08:11:35 · 1411 阅读 · 0 评论 -
【WPF.NET开发】为控件中的焦点设置样式
Windows Presentation Foundation (WPF) 提供两种用于在控件接收键盘焦点时更改其视觉外观的并行机制。第一种机制是对应用于控件的样式或模板中的属性(如)使用属性 setter。第二种机制是将一个单独的样式作为属性的值提供;“焦点视觉样式”为绘制于控件顶部的装饰器创建一个单独的可视化树,而不是通过替换来更改控件或其他 UI 元素的可视化树。本主题讨论上述每一种机制的适用情况。原创 2024-01-07 08:09:42 · 1364 阅读 · 0 评论 -
【开源项目】WPF 扩展组件 -- Com.Gitusme.Net.Extensiones.Wpf
Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发,当前最新1.0.1版本。包含 核心扩展库(Com.Gitusme.Net.Extensiones.Core)、视频渲染(Com.Gitusme.Media.Video)、串口通信(Com.Gitusme.IO.Ports.SerialPort) 等重要功能。集成快捷,使用方便。原创 2024-01-06 15:07:43 · 2469 阅读 · 0 评论 -
【WPF.NET开发】WPF中的焦点
在 WPF 中,有两个与焦点有关的主要概念:键盘焦点和逻辑焦点。键盘焦点指接收键盘输入的元素,而逻辑焦点指焦点范围中具有焦点的元素。本概述详细介绍了这些概念。对于创建具有多个可获取焦点的区域的复杂应用程序来说,理解这些概念之间的区别非常重要。参与焦点管理的主要类是类、类和基本元素类,例如和。类主要与键盘焦点相关,而主要与逻辑焦点相关,但这种区别不是绝对的。具有键盘焦点的元素也具有逻辑焦点,但具有逻辑焦点的元素不一定具有键盘焦点。使用。原创 2024-01-04 13:26:16 · 1661 阅读 · 0 评论 -
【WPF.NET开发】WPF中的命令
命令具有多个用途。第一个用途是分隔语义和从执行命令的逻辑调用命令的对象。这可使多个不同的源调用同一命令逻辑,并且可针对不同目标自定义命令逻辑。例如,许多应用程序中均有的编辑操作“复制”、“剪切”和“粘贴”若通过使用命令来实现,那么可通过使用不同的用户操作来调用它们。应用程序可允许用户通过单击按钮、选择菜单中的项或使用组合键(例如 Ctrl+X)来剪切所选对象或文本。通过使用命令,可将每种类型的用户操作绑定到相同逻辑。命令的另一用途是指示操作是否可用。原创 2024-01-04 13:25:08 · 1248 阅读 · 0 评论 -
【WPF.NET开发】WPF中的输入
Windows Presentation Foundation (WPF) 子系统提供了一个功能强大的 API,用于从各种设备(包括鼠标、键盘、触摸和触笔)获取输入。本主题介绍了 WPF 提供的服务,并说明了输入系统的体系结构。原创 2024-01-02 22:20:55 · 1428 阅读 · 0 评论 -
【WPF.NET开发】如何创建自定义路由事件
Windows Presentation Foundation (WPF) 应用程序开发人员和组件作者可以创建自定义路由事件,用于扩展公共语言运行时 (CLR) 事件的功能。本文介绍创建自定义路由事件的基本知识。原创 2024-01-02 22:17:10 · 1178 阅读 · 0 评论 -
【WPF.NET开发】弱事件模式
将以下类模板复制到项目。以下类继承自get重命名SomeEvent和以匹配事件名称。设置弱事件管理器类的访问修饰符,用于匹配其管理的事件的可访问性。使用新的弱事件管理器,而不是普通事件挂钩。原创 2023-12-30 09:23:49 · 1281 阅读 · 0 评论 -
【WPF.NET开发】属性更改事件
Windows Presentation Foundation (WPF) 定义几个为响应属性值的更改而引发的事件。该属性通常是依赖项属性。事件本身可以是路由事件,也可以是标准公共语言运行时 (CLR) 事件,具体取决于事件是应通过元素树路由,还是仅在属性发生更改的对象上发生。当属性更改仅与属性值发生更改的对象相关时,后一种方案适用。原创 2023-12-30 09:23:04 · 1365 阅读 · 0 评论 -
【WPF.NET开发】预览事件
预览事件,也称为隧道事件,是从应用程序根元素向下遍历元素树到引发事件的元素的路由事件。引发事件的元素在事件数据中报告为Source。并非所有事件场景都支持或需要预览事件。本文介绍了预览事件存在的位置以及应用程序或组件如何与其交互。原创 2023-12-30 09:21:47 · 1321 阅读 · 0 评论 -
【WPF.NET开发】将路由事件标记为已处理和类处理
尽管对于何时将路由事件标记为已处理没有绝对规则,但如果代码以重要方式响应事件,请考虑将事件标记为已处理。标记为已处理的路由事件会继续进行其路由,但只会调用配置为响应已处理事件的处理程序。基本上,将路由事件标记为已处理会限制其在事件路由上对侦听器的可见性。路由事件处理程序可以是实例处理程序或类处理程序。实例处理程序处理对象或 XAML 元素上的路由事件。类处理程序在类级别处理路由事件,会在任何实例处理程序对类的任何实例响应相同事件之前进行调用。当路由事件标记为已处理时,它们通常会在类处理程序中标记为这样。原创 2023-12-29 19:10:36 · 2519 阅读 · 0 评论 -
【WPF.NET开发】对象生存期事件
本文先介绍视觉对象的生存期事件,然后介绍专门应用于窗口元素、导航宿主或应用程序对象的其他生存期事件。因此,从元素树中嵌套最深的元素开始设置属性值,后跟连续父元素,一直到应用程序根。事件,因此首先在标记中定义的嵌套最深的元素上调用该事件,后跟连续父元素,一直到应用程序根。元素或逻辑树或可视化树中更高级的元素可能已取消设置。事件不会将事件数据从一个元素传输到另一个元素,因此将事件标记为已处理没有效果。事件,然后在每个连续的子元素上向下引发嵌套最深的元素。事件,然后在每个连续的子元素上向下引发嵌套最深的元素。原创 2023-12-29 19:08:50 · 1402 阅读 · 0 评论 -
【WPF.NET开发】附加事件
如果从常见的 WPF 基类派生,可以通过在类中包含两个访问器方法来实现自定义附加事件。这些方法包括:AddHandler 方法,其中第一个参数是附加事件处理程序的元素,第二个参数是要添加的事件处理程序。方法必须是public和static,没有返回值。该方法调用AddHandler基类方法,将路由事件和处理程序作为参数传入。此方法支持 XAML 属性语法,用于将事件处理程序附加到元素。此方法还可实现对附加事件的事件处理程序存储的代码访问。原创 2023-12-28 23:33:04 · 1353 阅读 · 0 评论