
WPF
工作常见问题处理
这个月太忙没时间看C++
这个作者很懒,什么都没留下…
展开
-
WPF DataGrid 动态增加列
方式一:通过DataGrid 数据源即DataTable,在DataTable里面动态增加了列之后,重新构造每一行数据,设置DataGrid.ItemsSource = null;然后再重新设置ItemsSource到DataTable。方式二:通过ObservableCollection集合,它可以动态的添加属性,这种类型添加好属性之后,重新设置DataGrid的ItemsSource绑定即可。原创 2023-12-05 15:48:06 · 2214 阅读 · 0 评论 -
WPF VirtualizationMode属性Recycling和Standard的区别
2、当容器中有数据模板时如果设置Recycling时你会发现数据会产生错行,设置为Standard即可解决问题,因为每行数据容器都是新创建的,所以相比Recycling会有资源浪费。包含许多项目时,会创建并放弃项容器处理会对性能产生负面影响。创建每个可见项的项容器以及丢弃,当不再需要时 (例如,当项滚动到视图之外时)。1、当对数据模板没有要求时使用Recycling,可节省资源,因为容器都是循环使用的。重用项目容器而不是每次创建新的。Standard:创建和丢弃容器。Recycling:重复利用。原创 2023-05-10 16:35:53 · 600 阅读 · 1 评论 -
WPF 控件库Live Charts 折线图多折线比较问题处理
如果想要解决以上问题就需要修改ChartValues类型,由原来的double修改成ObservablePoint。发现折线图全是断断续续的。原创 2023-04-20 14:17:17 · 1119 阅读 · 1 评论 -
WPF 绘制不规则RadioButton
<Window x:Class="WpfApp2.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" x.原创 2022-02-23 09:31:19 · 196 阅读 · 1 评论 -
WPF自定义控件CustomControl中依赖属性、命令的使用
Generic.xaml中的UI代码:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfCustomControlLibrary1"> <Style Target.原创 2022-02-19 14:34:12 · 1506 阅读 · 0 评论 -
WPF LiveCharts实现缩放拖拉后实现刷新,恢复到缩放之前的状态
上篇文章优快云实现了Live chart缩放及拖拉功能,但是遇到了问题:当页面重新加载Series时,X轴和Y轴的最大最小值还是缩放状态的,没有重新刷新解决办法:更新前手动改X轴Y轴的最大值(MaxValue)和最小值(MinValue)...原创 2021-11-16 15:59:33 · 2848 阅读 · 0 评论 -
WPF 控件库Live Charts 折线图平移及缩放功能
功能效果如上图所示使用Chart.Zoom(默认为None)和Chart.Pan(默认为Unset),使用鼠标滚轮放大/缩小,单击,按住并拖动以进行平移。后台代码using System;using System.ComponentModel;using System.Globalization;using System.Windows;using System.Windows.Data;using System.Windows.Media;using LiveCharts;...转载 2021-09-05 11:32:20 · 4052 阅读 · 4 评论 -
WPF 控件库Live Charts 散点图
xaml代码<Window x:Class="WpfApplication3.PointWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blen原创 2021-08-27 14:56:23 · 1445 阅读 · 0 评论 -
WPF 控件库Live Charts 动态折线图
Live Charts库安装通过1、PM> Install-Package LiveCharts.Wpf2、通过Nuget搜索添加LiveCharts.Wpf安装WPF页面xaml<Window x:Class="WpfApplication3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.原创 2021-08-27 09:35:53 · 3160 阅读 · 0 评论 -
WPF 解决数据量大造成页面卡顿
最近做一个项目,使用datagrid动态绑定并扩展行列,数据量大概两万条,加载后发现页面近乎卡死状态,查找资料发现是wpf页面渲染问题,以下是解决方案datagrid控件添加属性VirtualizingPanel.VirtualizationMode="Recycling" EnableRowVirtualization="True" VirtualizingPanel.IsVirtualizing="True" EnableColumnVirtualization="True" Virtualizin原创 2021-08-26 11:28:58 · 7723 阅读 · 1 评论 -
WPF 后台代码动态向DataGrid添加TextBox、Combox并设置datatrigger
最近项目有个需求需要动态扩展DataGrid,动态扩展列,cell的模板不一样,有的textbox,有的combox,并且需要后台绑定style设置datatrigger先看combox的 DataGridTemplateColumn col = new DataGridTemplateColumn(); var stackPanelFactory = new FrameworkElementFactory(typeof(S原创 2021-08-26 10:43:15 · 2080 阅读 · 0 评论 -
WPF DataGrid控制Combox数据源问题
不管是WPF还是winform中,多个ComboBox 绑定同一个数据源时,选择其中一个ComboBox,其他的也跟着变成同一选项.原因是combobox绑定了同一个数据源,对数据源的操作导致了其他控件改变.但是在有些情况下, 我们确实需要让多个combobox控件绑定同一个数据源,但不想让他们联动.这样就必须想办法让他们分别对应一个数据源.为每一个combox都设置不同的数据源就行了WPF中 public class TEST : BaseNotifyPropertyChanged...原创 2021-08-04 15:21:17 · 1073 阅读 · 0 评论 -
WPF DataGrid控制DataGridTextColumn的IsReadOnly属性问题
DataGridTextColumn这个控件不是一个真正的Visual所以IsReadOnly的属性绑定没用如果绑定为 <DataGridTextColumn Header="IsReadOnly" IsReadOnly="{Binding IsReadOnly,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged, Converter={StaticResource ..原创 2021-08-04 15:09:22 · 2637 阅读 · 0 评论 -
WPF ScrollViewer滚动条不起作用问题解决
最近使用ScrollViewer发现同样的代码有时候滚动条效果有的实现有的失效,很是苦恼,研究了一下发现这个控件是否起作用取决于很重要的属性就是高度1、如果父级控件高度确定有Heiht属性,或者父级控件是根节点那么ScrollViewer自身是不需要设置高度的,如<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/原创 2021-08-03 10:03:11 · 4350 阅读 · 1 评论 -
WPF 可多选的树TreeView
因工作需要,自定义一个树形控件,支持多选并且父节点选中子节点全部选中,反之全部取消<Window x:Class="treeview.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.mi原创 2021-08-01 16:02:48 · 1952 阅读 · 0 评论 -
WPF后台动态创建Grid行与列,并将控件添加到Grid中的指定行指定列
<Window x:Class="GridviewDymic.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" .原创 2021-07-28 09:21:21 · 5198 阅读 · 0 评论 -
WPF 事件转命令
WPF中不是所有的控件都有Command属性的,如果窗体我需要在ViewModel中处理Loaded事件命令,或者其他事件的命令时,很难都过绑定Command完成,必须要注册依赖属性或事件等,使用System.Windows.Interactivity交互事件下载System.Windows.Interactivity.dll文件,并引入项目中(在VS项目的引用列表中可以看到)。可在Nuget搜索System.Windows.Interactivity下载安装到项目中。XAML中使用该dll原创 2021-07-27 15:31:03 · 860 阅读 · 0 评论 -
WPF下使用DataGrid,表头靠左,动态添加行和列
<Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" x...原创 2021-07-13 15:16:13 · 3785 阅读 · 3 评论 -
WPF性能优化经验总结
原文地址:https://www.cnblogs.com/chiniao/archive/2010/08/09/1795499.htmlWPF性能优化一、Rendering Tier1. 根据硬件配置的不同,WPF采用不同的Rendering Tier做渲染。下列情况请特别注意,因为在这些情况下,即使是处于Rendering Tier 2的情况下也不会硬件加速。(不全,其余请查阅SDK)WPF性能优化二、布局和设计1.尽量多使用Canvas等简单的布局元素,少使用Grid或者StackPan转载 2021-05-13 14:53:53 · 1870 阅读 · 1 评论