1.概要
c# wpf LiveCharts 绑定 简单试验
2.代码
<Window x:Class="WpfApp3.Window2"
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"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:local="clr-namespace:WpfApp3"
mc:Ignorable="d"
Title="Window2" Height="450" Width="800">
<Grid>
<lvc:CartesianChart Series="{Binding Series}" LegendLocation="Bottom"/>
</Grid>
</Window>
using LiveCharts.Wpf.Charts.Base;
using LiveCharts.Wpf;
using LiveCharts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace WpfApp3
{
/// <summary>
/// Window2.xaml 的交互逻辑
/// </summary>
public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
this.DataContext = new HomePgVM();
}
}
public class HomePgVM : NotifyPropertyBase
{
public SeriesCollection Series { get; set; }
public HomePgVM()
{
Series = new SeriesCollection()
{
new LineSeries
{
Title="充值",
DataLabels=true,
Values = new ChartValues<double> { 23, 15, 47, 64,30,32,21 },
//Fill=new SolidColorBrush(Colors.LightGreen),
},
};
}
}
/// <summary>
/// 绑定UI显示--创建通知基类
/// 继承 INotifyPropertyChanged(作用:当属性发生变化时,传递变化属性的值)
/// </summary>
public class NotifyPropertyBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void Notify([CallerMemberName] string propName = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
protected void SetProperty<T>(ref T prop, T value, [CallerMemberName] string propertyName = null)
{
if (EqualityComparer<T>.Default.Equals(prop, value) == false)
{
prop = value;
Notify(propertyName);
}
}
}
}
3.运行结果