WPF DataGrid与ListView性能对比与场景选择
开门见山的说 性能对比: 在Demo中,DataGrid与ListView默认开启虚拟化(可以理解为动态渲染,类似懒加载只渲染屏幕可以看见的地方) DataGrid渲染10列50行随机字符280ms ListView渲染10列50行随机字符80ms 场景选择: ListView只生成需要展示的数据类 ... »
开门见山的说 性能对比: 在Demo中,DataGrid与ListView默认开启虚拟化(可以理解为动态渲染,类似懒加载只渲染屏幕可以看见的地方) DataGrid渲染10列50行随机字符280ms ListView渲染10列50行随机字符80ms 场景选择: ListView只生成需要展示的数据类 ... »
我要先声明,这篇文章介绍到的内容虽说不是不能用,但玩乐成分居多,大家看看就好,不要太认真。 1. Microsoft Chart Controls 中的 FinancialFormula 在上一篇文章 使用 Math.Net 进行曲线拟合和数据预测 中,我介绍了如何使用 Math.Net ,这篇文章 ... »
1. 需求 在上一篇文章 《在 ViewModel 中让数据验证出错(Validation.HasError)的控件获得焦点》中介绍了如何让 Validation.HasError 的控件自动获得焦点,之后引申了另一个问题:如果有多个 HasError 的控件,如何只让第一个自动获得焦点。 这需求比 ... »
1. 需求 在 MVVM 中 ViewModel 和 View 之间的交互通常都是靠 Icommand 和 INotifyPropertyChanged,不过有时候还会需要从 MVVM 中控制 View 中的某个元素,让它获得焦点,例如这样: 上面的 gif 是我在另一篇文章 《自定义一个“传统”的 ... »
由于项目中经常用到Series Chart,而目前市面又实在找不到既支持MVVM,又轻量级的开源Chart控件,于是干脆就花了两周时间随手写了一个。昨天感觉还比较满意,就发布到了Github上:https://github.com/zenjia/MvvmChart 特色: 支持MVVM设计模式: 这 ... »
(注:本文是《剖析WPF模板机制的内部实现》系列文章的最后一篇文章,查看上一篇文章请点这里) 上一篇文章我们讨论了DataTemplate类型的两个重要变量,ContentControl.ContentTemplate和ContentPresenter.ContentTemplate,这一篇将讨论这 ... »
/// <summary> /// 创建桌面图标 /// </summary> public static void CreateShortcutOnDesktop(string LnkName) { String shortcutPath = System.IO.Path.Combine(Envi ... »
`namespace MyApp { /// /// App.xaml 的交互逻辑 /// public partial class App : Application { public App() { //UI线程异常 this.DispatcherUnhandledException += Ap ... »
昨天在使用wpf开发系统的时候,突然出现了错误(其实也不能称为错误,就是打开XAML文件时,在解决方案管理器中出现错误提示,XAML编辑文档出现波浪线的提示 The XAML designer displays XDG0062 errors for resource from a separate ... »
引言 在你使用wpf应用程序开发的时候,是否需要进行数据绑定到Enum数据呢?在这篇文章中,我将向你展示在WPF中处理Enum数据绑定的方法。 假设存在一个这样的Enum数据的定义,具体内容如下文代码中所示: namespace LocalizeFrameworkWpfApp { public en ... »
public static Microsoft.Windows.Controls.DataGridColumn CreateDateColumn(string path, string header) { ExtendedDataGridTemplateColumn<Microsoft.Window ... »
Material Design Extensions 在WPF开源控件库 Material Design in XAML Toolkit(本站介绍:链接)的基础上进行了控件扩展和特性新增。本开源项目中的控件或许不在Material Design specification明确规定中,在使用时也不会和 ... »
Prism.Interactivity: 主要用来截取View即界面的一些处理,而这些功能通过vm 不好实现,只能用 CommandBehaviorBase 来截取处理,特别是在处理界面异常很有用。 定义如下: public class ValidationExceptionBehavior : B ... »
WPF是用于构建Windows桌面应用程序的.NET Core UI框架。WPF的所属权最近已经移交给了我们的团队(Windows下开发生态系统和平台的团队)。这种转变使跨UI框架(即WinUI和WPF)保持一致,并随着行业中新技术趋势和设备的推出而适应未来的发展。 下面的线路图表达了NET Cor ... »
WPF基于.Net Core 因为最近.net core的热门,所以想实现一下.net core框架下的WPF项目,还是MVVM模式,下面就开始吧,简单做一个计算器吧。 使用VS2019作为开发工具 实现MVVM模式 1、实现基础项目 使用VS2019新建WPF App项目 ![image-2020 ... »
用C++创建WPF项目的三种主要方法 The problem with using XAML from C++** ... »
需求 在使用WPF开发时,使用DataGrid列表显示数据时,有些字段可以进行分组显示,用于更好的表达它们之间存在的某种关系,因此就考虑到要对DataGrid的表头进行扩展,可以显示多行表头,让这些有关联的字段内容显示的更加明了简洁。 自定义样式 这段自定义样式可以放在MainWindow.xaml ... »
基于托管的C++来使用WPF - Using WPF with Managed C++ ... »
大家平时做WPF开发,相信用Visual studio的小伙伴比较多。XAML里面曾经在某些特殊版本的Visual Studio中是可以加断点进行调试的,不过目前多数版本都不支持在XAML加断点来调试。 那如果自己需要绑定的 Property 没生效,该怎么去检测或Debug排查问题呢?下面大白给出 ... »
.NET 5 尝鲜 - 开源项目TerminalMACS WPF管理端支持.NET 5 一个使用 Prism 作为模块化框架、基于多个开源控件库作为UI控件选择、集成开源 UI 界面设计的 .NET 5 WPF 客户端项目。 项目名称:TerminalMACS WPF管理端 项目开源地址: Gith ... »