上一篇中 WPF --- 重写圆角DataGrid样式,因新产品UI需要,重写了一下微软 「WPF」 原生的 DataGrid 的样式,包含如下内容:
完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss g 一般格式 (short date + short time) MM/dd/yyyy HH:mm G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss m,M 月日格式 MMMM dd s 适中日期时间格式 yyyy-MM-dd HH:mm:ss t 精简时间格式 HH:mm T 详细时间格式 HH:mm:ss.
用DataGrid控件显示数据和信息的集合。在WPF能自定义外观,单元格,表格头部,字体,颜色等内容。
在 WPF 开发中,显示表格一般使用 DataGrid 控件,而且我们一般会依据用户的选中行的操作来执行一些逻辑,这种情况,选中了哪一行,用户是心知肚明的。而还有一种情况,我们可能在业务逻辑中,由程序自己选中了某一行,如果这一行当前不在用户界面的可视区(换句话说也就是滚动条没有滚到那个位置),那么我们如何将其带到用户的视野中呢?
近期,小伙伴们反映,B/S端工作难找,无论是.NET还是其它语言。与此同时,桌面端WPF和WinForm应用的招聘需求增加,尤其是WPF。前段时间,联想还招聘WPF开发岗位。本文分享了一些WPF面试题,供大家参考。先列出试题,大家先试做一下,后面给出参考答案。
本文记录在 dotnet 7 下的 WPF 的一个破坏性改动。在 dotnet 7 下的 WPF 支持 DataGrid 在按下 F3 键的时候,自动按照当前所选列进行列自动排序。这将会让原本采用 F3 键进行其他业务逻辑的代码,工作起来有些非预期
WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。
本篇博客主要说明如何使用 UI Virtualization(以下简称为 UIV) 来提升 OEA 框架中 TreeGrid 控件的性能,同时,给出了一些学习 UIV 的资源。 问题 最近对 OEA 的 TreeGrid 控件进行了比较大的改造,并使用新的控件来替换了系统中所有的 DataGrid 控件。新的 TreeGrid 控件实现了很多新的功能,(之后会写一篇文章说明),但是最后遗留了一个问题:由于使用它替换了原来的 DataGrid,而 DataGrid 默认是支持 UI Virtu
过滤是DataGrid这样的表格控件的基本功能之一,也是非常重要的特性。微软提供的标准DataGrid相信大家都很熟悉了。本文要解析的不是标准DataGrid,而是Silverlight和WPF平台下的C1DataGrid的过滤功能。经过多年的打磨,最新的ComponentOne 2011 v3版中的C1DataGrid已经具有了很多不同以往的过滤技术,每一种都很容易使用而且功能强大。这里将会展示几个例子和效果图,希望对大家有用。 默认过滤 把一个IEnumerable数据源绑定到C1DataGrid上,设
最近工作中要在 WPF 中做个表格,自然首选就是 DataGrid 控件了。问题是,UI 设计的表格是在首行有一个新增按钮,那一行样式和其它数据行是一样的,就在表头下面那行。
使用通用附加属性来减少 WPF 元素自定义样式的多余代码 魏刘宏 2022 年 11 月 07 日 本文将以WPFUI(https://gitee.com/dlgcy/WPFUI)项目中的 ComboBox样式为例,介绍如何使用附加属性来增强和简化样式代码。
这是MSDN上对Style的描述,翻译的还算中规中矩。Style(样式),简单来说,就是一种对属性值的批处理,类似于Html的CSS,可以快速的设置一系列属性值到UI元素。
Windows Community Toolkit 4.0 于 2018 月 8 月初发布:Windows Community Toolkit 4.0 Release Note. 4.0 版本相较于 3.0,增加了 DataGrid 等控件,Sample App 支持了 Fluent Design 设计和明暗两种风格,修复了遗留的控件 BUG,接下来我们主要看一下 DataGrid 控件的实现。
本文主要介绍在 WPF 中,当属性变动后,如何依据是哪个属性变动了,以及其变动的值的情况来进行相应业务处理的推荐的方式;以及如果要恢复属性的原始值,可以怎么做。
具体场景就是一个配置界面, ScrollViewer 中包含一个StackPanel 然后纵向堆叠,以滚动的方式查看,然后包含多个 TextBlock 、 TextBox 以及DataGrid ,期间遇到了两个问题:
由于WPF不仅仅支持C#/VB开发,还支持其他语言,比如: C++、F#等开发,于是大白我最近花了点时间摸索了一下,本文主要介绍C++/CLI下创建WPF项目的方法。
发布于 2017-12-12 13:49 更新于 2018-08-13 12:47
本文将会介绍WPF如何实现前后端数据绑定和在进行数据绑定时常用的方法和类以及对于DataGrid、ListView这样的控件重写数据模板后控件如何进行数据绑定。
先在ViewModel创建数据源 People 和控制列隐藏的 IsVisibility,这里直接以 MainWindow 为 DataContext
最近用 OEA 做的仓库管理系统中,许多界面的都需要使用表格控件来显示数据。一是这些表格的列非常多,有的甚至达到了 200 列,而且一个模块的界面中可能同时显示好几个表格。这导致界面的速度比较慢,特别是较多数据需要展现时。经检测,表现虽然表格的行已经做了虚拟化,但是由于列非常多,最终还是造成可视树中的元素过多,而导致界面布局代码运行过慢。假设只有 30 行,一个单元格仅生成 5 个可视元素,200 列的单元格都会产生 3W 个可视元素,而布局系统的 Measure 方法需要对可视树中的每一个元素都调
框架设计不应该局限于任何一种设计模式,我们在设计框架时,应该将设计模式揉碎,再重组;这样设计出来的框架才具有一战之力。
WPF的本地化是个很常见的功能,我做过的WPF程序大部分都实现了本地化(不管最终有没有用到)。通常本地化有以下几点需求:
一、如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,WPF中的DataGrid 不同于Windows Forms中的 DataGridView。 在DataGrid的Items集合中,DataGridRow 是一个Item,但是,它里面的单元格却是被封装在 DataGridCellsPresenter 的容器中;因此,我们不能使用 像DataGridVie
在上面一篇 Windows Community Toolkit 4.0 - DataGrid - Part01 中,我们针对 DataGrid 控件的 CollectionView 部分做了详细分享。而在本篇,我们会对 Utilities 文件夹中的类做详细的分享。
这个是 WPF 已知的问题,网络上也有一些讨论,但是没有一个完美的方法来解决。本文也就是讲解其中的一种方法,亲测可行。
初学WPF 以前用的Winform中的 DatagridView就是直接绑定Datasource 就ok了
为什么要重构 上两个月主要做了一件事情,那就是把 OEA 框架中的 TreeGrid 控件,从结构上重新设计,并大量重构现有代码。而花较大精力做这件事的原因,主要是因为: 业务中需要支持一系列新功能:整行编辑、上下箭头键进行导航、合计行、锁定列 等。 控件显示性能较差,需要支持列虚拟化。 和 OEA 元数据系统耦合,希望独立为单独的控件程序集,提高复用性。 不支持 xaml 声明的格式。原控件直接在后台用 OEA 代码生成,本质上作为一个 WinForm 控件来用。 整个 TreeGrid
不管杀毒软件流氓不流氓,在如今病毒肆虐的当下互联网,装一个还是能帮我们拦截很多意想不到的东西,为了眼见为实,这一篇我们就聊一个窃听 键盘事件 的恶意代码。
随着Visual Studio 2010正式版的发布,相信不少人都像我一样升级到了Visual Studio 2010。那么您在使用VS2010在AutoCAD,Map 3D或Revit的.net应用程序开发时,多半也会遇到调试时断点总是不起作用的问题吧。Kean和Jeremy最近分别写了文章提到了几个解决办法,在这里给大家共享一下,原文请参考Hitting breakpoints in .NET Class Libraries while debugging with Visual Studio 2010
ProgrammingDude(asked Dec 8, 2015 at 21:24)
不过它用起来不怎么样,与其这样还不如参考UWP的ListView实现,而且动画效果也很好看:
在之前写的一篇文章【WPF --- 如何以Binding方式隐藏DataGrid列】中,我先探索了 DataGridTextColumn 为什么不在可视化树结构内?又给出了解决方案,使用 Freezable ,该抽象类是 DependencyObject 的子类,能使用依赖属性在 Xaml 进行绑定,它承载了 DataContext 且有属性变化通知功能,触发 VisibilityConverter转换器,实现了预期功能。
Contents 1 antd-design Form,Select联合使用 placeholder 不起作用问题 1.1 起因 1.2 排查 1.3 补充: antd-design Form,Sel
处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,Caliburn提供了一种事件机制,可以在应用程序中低耦合的模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行通讯,且彼此之间没有引用,这就实现了模块之间低耦合的通信方式。简单来说就是提供了一个多播发布/订阅功能。Caliburn的事件聚合器,这玩意实现原理是观察者模式,观察者模式也就是常说的发布/订阅模式。
本文记录 WPF 在 dotnet 7 的一个已知问题,此问题当前已修复,只需更新 SDK 或运行时即可。使用 TreeView 在开启虚拟化之后只显示首项,其他项不显示。本文将告诉大家此问题的原因和修复方式
XamlFlair库的目标是简化常见动画的实现,并允许开发人员使用几行Xaml轻松地添加单个或组合的动画集。
在应用退出时(点击右上角的关闭按钮)弹出一个确认按钮可以说是一个最常见的操作了,例如记事本的“你是否保存”:
在 WPF 中,你可以使用 Command="{Binding WalterlvCommand}" 的方式来让 XAML 中的一个按钮或其他控件绑定一个命令。这样,按钮的可用性会自动根据 WalterlvCommand 当前 CanExecute 的状态来改变。这本是一个非常智能的特性,直到你可能发现你按钮的可用性状态不正确……
站长从博客园 林德熙 处了解到此控件库,通过clone、编译、运行,发现这库确实不错,正如 林德熙 所言:“有十分漂亮的界面,整个都是 Win10 风,界面部分和默认 UWP 相近, 这个库支持了 .NET Framework 4.5 和以上的版本,以及 .NET Core 3.0 和以上的版本,可以在 Windows Vista SP2 和以上的系统运行。” 本人遂从该仓库中将readme搬运过来,希望让更多人知道有这个库的存在,能给WPF开发者多一个UI库选择。
在用户界面技术中,绘图是一个绕不开的话题。WPF提供了多种可根据应用程序要求进行优化的2D图形和图像的处理功能,包括画刷(Brush)、形状(Shape)、几何图形(Geometry)、图画(Drawing)和变换(Transform)等。其中形状(Shape)、几何图形(Geometry)和图画(Drawing)承担了基础的绘图功能,形状(Shape)使用方便简单,但占用资源相对较多,几何图形(Geometry)和图画(Drawing)则更轻量。
本文来告诉大家 WPF 的可获得焦点属性,如果希望一个元素可以获得键盘输入,那么就需要一个元素是可以获得焦点,而且焦点就在元素上。
众所周知,标准SAP系统里,ME51N创建采购申请界面里,物料组字段是必输字段。对于有物料号的采购申请,物料组信息从物料主数据里带过来,不用业务人员输入;对于无物料号的采购申请,物料组字段则是一个必输字段。
Python 是一种强大而灵活的编程语言,它提供了许多方便的数据结构和操作方法,其中之一就是列表(List)。列表是一个有序的集合,可以包含不同类型的元素,并且可以进行添加、删除和修改等操作。在 Python 中,我们通常使用 List.append() 方法向列表末尾添加元素。然而,在某些情况下,你可能会遇到 List.append() 方法不起作用的问题。本文将详细讨论这个问题并提供解决方法。
在界面上拖一个控件dataGridView1,在datagridview添加行事件中添加如下代码:
说到网页打印,首先想到的便是@media查询(即网页css),通过使用媒体类型print即可解决实际应用的大多数问题,比如实现只打印网页的某部分内容,调整字体大小、修改布局等使打印出来的纸质文件更简洁明了。代码如下:
领取专属 10元无门槛券
手把手带您无忧上云