WPF常用UI库和图标库(MahApps、HandyControl、LiveCharts)
创始人
2024-05-24 14:35:02
0

WPF常用UI库和图表库(MahApps、HandyControl、LiveCharts)

WPF有很多开源免费的UI库,本文主要介绍常见的MahApps、HandyControl两个UI库;在开发过程中经常会涉及到图表的开发,本文主要介绍LiveCharts开源图表库。

UI库

第三方UI库的使用一般都是三步:

  1. Nuget安装
  2. 在APP.xaml中增加资源


  1. 在MainWindow.xaml中引用命名空间xmlns:xxxx="xxxxxxx"

MahApps

MahApps.Metro官方网站

  1. Nuget安装MahApps.Metro
  2. App.xaml中增加


  1. 在MainWindow.xaml中引用命名空间xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"

该UI库不仅扩展了很多扩展控件,还对原生的控件进行了美化。看一个简单案例

因为涉及到了窗体,所以在后台类中需要继承MetroWindow

img

HandyControl

使用方法类似,Nuget安装HandyControl

App.xaml中引入



HandyOrg中文官方文档

官方网站上详细介绍了各控件的使用方法和控件的展示效果,并且网站是中文的十分友好,详细使用说明直接查看官网即可。

img

图表库

Nuget包安装LiveCharts.Wpf

引入命名空间xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"



ModelView

public class MainViewModel
{public ChartValues Values { get; set; }public ChartValues Values2 { get; set; }public ObservableCollection xLabels { get; set; }public MainViewModel(){Values = new ChartValues();Values2 = new ChartValues();xLabels = new ObservableCollection();Random random = new Random();Task.Factory.StartNew(async () =>{while (true){await Task.Delay(1000);Values.Add(random.Next(10, 80));Values2.Add(random.Next(10,90));xLabels.Add(DateTime.Now.ToString("mm:ss"));if (Values.Count > 50){Values.RemoveAt(0);Values2.RemoveAt(0);xLabels.RemoveAt(0);}}});}
}

img

更多使用方法见官方网站

LiveCharts满足基本的需求,但是如果数据量较大的话,性能会大打折扣,如果追求性能可以使用下ScottPlot开源库,但是该库某些功能没有实现。如果对性能有较高的要求,也可以使用LightningChart.NET,不过这是收费的组件库。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...