master
editor 1 week ago
commit a041eafffa

@ -0,0 +1,54 @@
LIVECHARTS控件案例展示
一、源码描述
LiveCharts控件案例展示
环境VS2022 Winform WPF
二、功能介绍
Live-Charts一款winfrom与wpf的数据展示控件。
三、注意事项
ctrl+F5运行即可。
作者: coderbest
如需获得该源码的视频、更新等更多资料请访问: https://www.51aspx.com/Code/ControlCase
------------------------------------------------------------------------------------------------
源码服务专家
官网: https://www.51aspx.com
讨论圈: https://club.51aspx.com/
平台声明:
1.51Aspx平台上提供下载的资源为免费、共享、商业三类源码,其中免费和共享源码仅供个人学习和研究使用,商业源码请在相应的授权许可条件下使用;
2.51Aspx平台对提供下载的软件及其它资源不拥有任何权利,其版权归属源码合法拥有者所有;
3.著作权人发现本网站载有侵害其合法权益的内容或作品,请与我们联系( 登录官网与客服反馈或发送邮件到support@51Aspx.com
4.51Aspx平台不保证提供的下载资源的准确性、安全性和完整性;
友情提示:
一般数据库文件默认在 DB_51Aspx 文件夹下
默认账号密码一般均为51Aspx
关于源码使用常见问题及解决方案,请参阅: https://www.51aspx.com/Help

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="LiveCharts.Wpf" publicKeyToken="3b585c2a5f1a92c1" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.9.5.0" newVersion="0.9.5.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="LiveCharts" publicKeyToken="c5935629d38af058" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.9.5.0" newVersion="0.9.5.0"/>
</dependentAssembly>

@ -0,0 +1,15 @@
namespace WinForms.DynamicAxis
{
partial class DynamicAxisExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System.Windows.Forms;
using Geared.Winforms.DynamicAxis;
using LiveCharts;
using LiveCharts.Geared;
using LiveCharts.Wpf;
namespace WinForms.DynamicAxis
{
public partial class DynamicAxisExample : Form
{
private DynamicAxisUnitVm _viewModel = new DynamicAxisUnitVm();
public DynamicAxisExample()
{
InitializeComponent();

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System;
using LiveCharts.Geared;
using WinForms.DynamicAxis;
namespace Geared.Winforms.DynamicAxis
{
public class DynamicAxisUnitVm
{
#region Constructors
public DynamicAxisUnitVm()
{
Values = Repository.VisitsByMinute.AsGearedValues();
SetMinutesView();
}

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using WinForms.DynamicAxis;
namespace Geared.Winforms.DynamicAxis
{
public static class Repository
{
private static readonly List<VisitsByDateTime> Visits;
static Repository()
{
Visits = new List<VisitsByDateTime>();
var today = DateTime.Now - TimeSpan.FromMinutes(15000);

@ -0,0 +1,15 @@
using System;
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Winforms.DynamicAxis
{
public class VisitsByDateTime
{
static VisitsByDateTime()
{
//lets configure the type globally
//notice since this block is inside a
//static constructor, it only runs once
//mappers should ideally only be set once.

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Geared.Winforms.FinancialSeries
{
public static class DataProvider
{
public static IEnumerable<DataProviderPoint> Get
{
get
{
var trend = 0d;
var timeStamp = DateTime.Now.AddDays(-350*10);
var r = new Random();

@ -0,0 +1,15 @@
using System;
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Winforms.FinancialSeries
{
public class DataProviderPoint
{
static DataProviderPoint()
{
//lets configure our charts to plot DataProviderPoint
//a global mapper should only be set once.
//thus we are using the static constructor of DataProviderPoint
//lets define a mapper

@ -0,0 +1,15 @@
namespace Geared.Winforms.FinancialSeries
{
partial class FinancialSeriesForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Geared;
using LiveCharts.Wpf;
namespace Geared.Winforms.FinancialSeries
{
public partial class FinancialSeriesForm : Form
{
private FinancialSeriesViewModel _vm = new FinancialSeriesViewModel();
public FinancialSeriesForm()
{

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System.Linq;
using LiveCharts.Geared;
namespace Geared.Winforms.FinancialSeries
{
public class FinancialSeriesViewModel
{
private DataProviderPoint[] _data;
public FinancialSeriesViewModel()
{
_data = DataProvider.Get.ToArray();
Values = _data.AsGearedValues();
Labels = _data.Select(x => x.DateTime.ToString("dd MMM yy")).ToArray();

@ -0,0 +1,15 @@
namespace Geared.Winforms
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System;
using System.Windows.Forms;
using Geared.Winforms.FinancialSeries;
using Geared.Winforms.Histogram;
using Geared.Winforms.Scatter;
using Geared.Winforms.ScrollableChart;
using Geared.Winforms.StackedSeries;
using WinForms.DynamicAxis;
using WinForms.MultipleSeries;
namespace Geared.Winforms
{
public partial class Form1 : Form
{
public Form1()

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{84140C13-13E1-45C5-8D82-88770936A220}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Geared.Winforms</RootNamespace>
<AssemblyName>Geared.Winforms</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<TargetFrameworkProfile />

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Geared.Winforms.Histogram
{
public static class DataProvider
{
public static IEnumerable<double> GetNormalDistribution(double variance, double expectation, int ticks)
{
var teoricalVariance = 3 * variance;
var step = (expectation + teoricalVariance - (expectation - teoricalVariance)) / ticks;
for (var x = expectation-teoricalVariance; x <= expectation + teoricalVariance; x += step)
{
yield return

@ -0,0 +1,15 @@
namespace Geared.Winforms.Histogram
{
partial class HistogramForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts.Geared;
using LiveCharts.Wpf;
namespace Geared.Winforms.Histogram
{
public partial class HistogramForm : Form
{
private HistogramViewModel _vm = new HistogramViewModel();
public HistogramForm()
{
InitializeComponent();

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using LiveCharts.Geared;
namespace Geared.Winforms.Histogram
{
public class HistogramViewModel
{
public HistogramViewModel()
{
Values1 = DataProvider.GetNormalDistribution(10, 50, 100).AsGearedValues();
Values2 = DataProvider.GetNormalDistribution(15, 55, 250).AsGearedValues();
Values3 = DataProvider.GetNormalDistribution(8, 45, 60).AsGearedValues();
}
public GearedValues<double> Values1 { get; set; }
public GearedValues<double> Values2 { get; set; }

@ -0,0 +1,15 @@
namespace WinForms.MultipleSeries
{
partial class MultipleSeriesExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System;
using System.Windows.Forms;
using Geared.Winforms.MultipleSeries;
using LiveCharts;
namespace WinForms.MultipleSeries
{
public partial class MultipleSeriesExample : Form
{
private MultipleSeriesVm _viewModel = new MultipleSeriesVm();
public MultipleSeriesExample()
{
InitializeComponent();

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Geared;
namespace Geared.Winforms.MultipleSeries
{
public class MultipleSeriesVm
{
public MultipleSeriesVm()
{
Series = new SeriesCollection();
var r = new Random();
for (var i = 0; i < 30; i++) // 30 series

@ -0,0 +1,15 @@
using System;
using System.Windows.Forms;
using WinForms;
namespace Geared.Winforms
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();

@ -0,0 +1,15 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WinForms")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WinForms")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Geared.Winforms.Properties {
using System;
/// <summary>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Geared.Winforms.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]

@ -0,0 +1,15 @@
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Winforms.Scatter
{
public class CustomScatterPoint
{
static CustomScatterPoint()
{
//in this case we are using a custom type
//just to have more control
//here I am not implementing IObservableChartPoint
//to gain some performance
//finally we teach LiveCharts to plot this type

@ -0,0 +1,15 @@
using System;
using System.Windows;
using System.Windows.Media;
using LiveCharts.Geared.Geometries;
namespace Geared.Winforms.Scatter
{
public class MarkerShape : GeometryShape
{
private PathFigure _figure;
private LineSegment[] _segments;
/// <summary>
/// Draws the specified path.
/// </summary>

@ -0,0 +1,15 @@
using System;
using System.ComponentModel;
using System.Linq;
using LiveCharts.Geared;
namespace Geared.Winforms.Scatter
{
public class ScatterViewModel
{
public ScatterViewModel()
{
BuildRandomData();
}
public GearedValues<CustomScatterPoint> Values1 { get; set; }

@ -0,0 +1,15 @@
namespace Geared.Winforms.Scatter
{
partial class Scatterform
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Geared;
using LiveCharts.Geared.Geometries;
namespace Geared.Winforms.Scatter
{
public partial class Scatterform : Form
{
private ScatterViewModel _vm = new ScatterViewModel();
public Scatterform()
{
InitializeComponent();

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Geared.Winforms.ScrollableChart
{
public class BindingAssistant : INotifyPropertyChanged
{
private double _from;
private double _to;
public double From
{
get { return _from; }
set
{
_from = value;

@ -0,0 +1,15 @@
namespace Geared.Winforms.ScrollableChart
{
partial class ScrollableExample
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System;
using System.Windows;
using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Events;
using LiveCharts.Geared;
using LiveCharts.Wpf;
using Binding = System.Windows.Data.Binding;
namespace Geared.Winforms.ScrollableChart
{
public partial class ScrollableExample : Form
{

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using LiveCharts.Defaults;
using LiveCharts.Geared;
namespace Geared.Winforms.ScrollableChart
{
public class ScrollableViewModel
{
public ScrollableViewModel()
{
var now = DateTime.Now;
var trend = -30000d;
var l = new List<DateTimePoint>();
var r = new Random();

@ -0,0 +1,15 @@
namespace WinForms.SpeedTest
{
partial class SpeedTest
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System.Windows.Forms;
using Geared.Winforms.SpeedTest;
using LiveCharts.Geared;
namespace WinForms.SpeedTest
{
public partial class SpeedTest : Form
{
private SpeedTestVm _viewModel = new SpeedTestVm();
public SpeedTest()
{
InitializeComponent();
cartesianChart1.Series.Add(new GLineSeries

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using LiveCharts.Geared;
namespace Geared.Winforms.SpeedTest
{
public class SpeedTestVm
{
private double _trend;
public SpeedTestVm()
{
Values = new GearedValues<double>().WithQuality(Quality.High);

@ -0,0 +1,15 @@
using System.ComponentModel;
namespace Geared.Winforms.StackedSeries
{
public class BindingAssistant : INotifyPropertyChanged
{
private double _from;
private double _to;
public double From
{
get { return _from; }
set
{
_from = value;

@ -0,0 +1,9 @@
namespace Geared.Winforms.StackedSeries
{
public struct DetailedLecture
{
public LecturePoint Series1Lecture { get; set; }
public LecturePoint Series2Lecture { get; set; }
public LecturePoint Series3Lecture { get; set; }
}
}

@ -0,0 +1,15 @@
using System;
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Winforms.StackedSeries
{
public class LecturePoint
{
public LecturePoint()
{
}
public LecturePoint(TimeSpan timeSpan, double value)
{

@ -0,0 +1,15 @@
namespace Geared.Winforms.StackedSeries
{
partial class StackedForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{

@ -0,0 +1,15 @@
using System;
using System.Windows;
using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Geared;
using LiveCharts.Wpf;
using Binding = System.Windows.Data.Binding;
using Panel = System.Windows.Controls.Panel;
namespace Geared.Winforms.StackedSeries
{
public partial class StackedForm : Form
{

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
using System;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Input;
using LiveCharts.Geared;
namespace Geared.Winforms.StackedSeries
{
public class StackedSeriesViewModel
{
private bool _isReading;
private DateTime _timeStamp;
private double _k;
private bool _refreshAxis;

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="LiveCharts.Wpf" publicKeyToken="3b585c2a5f1a92c1" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.9.5.0" newVersion="0.9.5.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="LiveCharts" publicKeyToken="c5935629d38af058" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.9.5.0" newVersion="0.9.5.0"/>
</dependentAssembly>

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>LiveCharts.WinForms</name>
</assembly>
<members>
<member name="T:LiveCharts.WinForms.AngularGauge">
<summary>
</summary>
<seealso cref="T:System.Windows.Forms.Integration.ElementHost"/>
</member>
<member name="F:LiveCharts.WinForms.AngularGauge.WpfBase">
<summary>
The WPF base

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>LiveCharts.Wpf</name>
</assembly>
<members>
<member name="T:LiveCharts.Wpf.AngularGauge">
<summary>
The gauge chart is useful to display progress or completion.
</summary>
</member>
<member name="M:LiveCharts.Wpf.AngularGauge.#ctor">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.Wpf.AngularGauge"/> class.
</summary>

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>LiveCharts</name>
</assembly>
<members>
<member name="T:LiveCharts.AxisCore">
<summary>
</summary>
</member>
<member name="M:LiveCharts.AxisCore.#ctor(LiveCharts.Definitions.Charts.IAxisView)">
<summary>
Initializes a new instance of the <see cref="T:LiveCharts.AxisCore"/> class.
</summary>

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5.2", FrameworkDisplayName = "")]

@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]

@ -0,0 +1,15 @@
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\Geared.Winforms.exe.config
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\Geared.Winforms.exe
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\Geared.Winforms.pdb
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.dll
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.Geared.dll
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.WinForms.dll
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.Wpf.dll
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.pdb
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.xml
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.WinForms.pdb
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.WinForms.xml
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.Wpf.pdb
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\bin\Debug\LiveCharts.Wpf.xml
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\obj\Debug\Geared.WinForms.csproj.AssemblyReference.cache
C:\Users\coder\Desktop\2024Code\6\20240622\submit\1\GearedExamples-master\GearedExamples-master\WinForms\obj\Debug\WinForms.DynamicAxis.DynamicAxisExample.resources

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="LiveCharts" version="0.9.7" targetFramework="net452" />
<package id="LiveCharts.Geared" version="1.2.9" targetFramework="net452" />
<package id="LiveCharts.WinForms" version="0.9.7.1" targetFramework="net452" />
<package id="LiveCharts.Wpf" version="0.9.7" targetFramework="net452" />
</packages>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="LiveCharts" publicKeyToken="c5935629d38af058" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.9.4.0" newVersion="0.9.4.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="LiveCharts.Wpf" publicKeyToken="3b585c2a5f1a92c1" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.9.4.0" newVersion="0.9.4.0"/>
</dependentAssembly>

@ -0,0 +1,15 @@
<Application x:Class="Geared.Wpf.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Home/HomeView.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/FlatButton.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Steel.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
<ResourceDictionary Source="pack://application:,,,/LiveCharts.Wpf;component/Themes/Colors/material.xaml" />

@ -0,0 +1,11 @@
using System.Windows;
namespace Geared.Wpf
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
}
}

@ -0,0 +1,15 @@
<UserControl x:Class="Geared.Wpf.DynamicAxisUnit.DynamicAxisUnitView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:geared="clr-namespace:LiveCharts.Geared;assembly=LiveCharts.Geared"
xmlns:dynamicAxisUnit="clr-namespace:Geared.Wpf.DynamicAxisUnit"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.DataContext>
<dynamicAxisUnit:DynamicAxisUnitVm />
</UserControl.DataContext>
<Grid>
<Grid.RowDefinitions>

@ -0,0 +1,15 @@
using System.Windows.Controls;
namespace Geared.Wpf.DynamicAxisUnit
{
/// <summary>
/// Interaction logic for DynamicAxisUnitView.xaml
/// </summary>
public partial class DynamicAxisUnitView : UserControl
{
public DynamicAxisUnitView()
{
InitializeComponent();
}
}
}

@ -0,0 +1,15 @@
using System;
using System.ComponentModel;
using LiveCharts.Geared;
namespace Geared.Wpf.DynamicAxisUnit
{
public class DynamicAxisUnitVm : INotifyPropertyChanged, IDisposable
{
#region Fields
private Func<double, string> _formatter;
private double _axisUnit;
private double _min;
private double _max;
private GearedValues<VisitsByDateTime> _values;

@ -0,0 +1,15 @@
using System;
using System.Windows.Input;
namespace Geared.Wpf.DynamicAxisUnit
{
public class RelayCommand : ICommand
{
private readonly Action _action;
public RelayCommand(Action action)
{
_action = action;
}
public bool CanExecute(object parameter)

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Geared.Wpf.DynamicAxisUnit
{
public static class Repository
{
private static readonly List<VisitsByDateTime> Visits;
static Repository()
{
Visits = new List<VisitsByDateTime>();
var today = DateTime.Now - TimeSpan.FromMinutes(15000);
var r = new Random();

@ -0,0 +1,15 @@
using System;
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Wpf.DynamicAxisUnit
{
public class VisitsByDateTime
{
static VisitsByDateTime()
{
//lets configure the type globally
//notice since this block is inside a
//static constructor, it only runs once
//mappers should ideally only be set once.

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace Geared.Wpf.FianancialSeries
{
public static class DataProvider
{
public static IEnumerable<DataProviderPoint> Get
{
get
{
var trend = 0d;
var timeStamp = DateTime.Now.AddDays(-350*10);
var r = new Random();

@ -0,0 +1,15 @@
using System;
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Wpf.FianancialSeries
{
public class DataProviderPoint
{
static DataProviderPoint()
{
//lets configure our charts to plot DataProviderPoint
//a global mapper should only be set once.
//thus we are using the static constructor of DataProviderPoint
//lets define a mapper

@ -0,0 +1,15 @@
<UserControl x:Class="Geared.Wpf.FianancialSeries.FinancialSeriesView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:geared="clr-namespace:LiveCharts.Geared;assembly=LiveCharts.Geared"
xmlns:fianancialSeries="clr-namespace:Geared.Wpf.FianancialSeries"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.DataContext>
<fianancialSeries:FinancialSeriesViewModel></fianancialSeries:FinancialSeriesViewModel>
</UserControl.DataContext>
<Grid>
<Grid.RowDefinitions>

@ -0,0 +1,15 @@
using System;
using System.Windows.Controls;
namespace Geared.Wpf.FianancialSeries
{
/// <summary>
/// Interaction logic for FinancialSeriesView.xaml
/// </summary>
public partial class FinancialSeriesView : IDisposable
{
public FinancialSeriesView()
{
InitializeComponent();
}

@ -0,0 +1,15 @@
using System.ComponentModel;
using System.Linq;
using LiveCharts.Geared;
namespace Geared.Wpf.FianancialSeries
{
public class FinancialSeriesViewModel : INotifyPropertyChanged
{
private string[] _labels;
private DataProviderPoint[] _data;
private double _minAxisLimit;
private double _maxAxisLimit;
public FinancialSeriesViewModel()
{

@ -0,0 +1,15 @@
using System;
using System.Windows.Input;
namespace Geared.Wpf.FianancialSeries
{
public class RelayCommand : ICommand
{
private Action _action;
public RelayCommand(Action action)
{
_action = action;
}
public bool CanExecute(object parameter)

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A48EBCEE-B25C-463A-A373-B71FAFE133E4}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Geared.Wpf</RootNamespace>
<AssemblyName>Geared.Wpf</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace Geared.Wpf.Histogram
{
public static class DataProvider
{
public static IEnumerable<double> GetNormalDistribution(double variance, double expectation, int ticks)
{
var teoricalVariance = 3 * variance;
var step = (expectation + teoricalVariance - (expectation - teoricalVariance)) / ticks;
for (var x = expectation-teoricalVariance; x <= expectation + teoricalVariance; x += step)
{
yield return

@ -0,0 +1,15 @@
<UserControl x:Class="Geared.Wpf.Histogram.HistogramView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:geared="clr-namespace:LiveCharts.Geared;assembly=LiveCharts.Geared"
xmlns:histogram="clr-namespace:Geared.Wpf.Histogram"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
Name="Control">
<UserControl.DataContext>
<histogram:HistogramViewModel></histogram:HistogramViewModel>
</UserControl.DataContext>
<Grid>

@ -0,0 +1,15 @@
using System;
using System.Windows;
using System.Windows.Controls;
namespace Geared.Wpf.Histogram
{
/// <summary>
/// Interaction logic for HistogramView.xaml
/// </summary>
public partial class HistogramView : UserControl, IDisposable
{
public HistogramView()
{
InitializeComponent();
}

@ -0,0 +1,15 @@
using LiveCharts.Geared;
namespace Geared.Wpf.Histogram
{
public class HistogramViewModel
{
public HistogramViewModel()
{
Values1 = DataProvider.GetNormalDistribution(10, 50, 100).AsGearedValues();
Values2 = DataProvider.GetNormalDistribution(15, 55, 250).AsGearedValues();
Values3 = DataProvider.GetNormalDistribution(8, 45, 60).AsGearedValues();
}
public GearedValues<double> Values1 { get; set; }
public GearedValues<double> Values2 { get; set; }

@ -0,0 +1,15 @@
<mahapps:MetroWindow x:Class="Geared.Wpf.Home.HomeView"
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:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:home="clr-namespace:Geared.Wpf.Home"
mc:Ignorable="d" Height="650" Width="1100"
Style="{StaticResource WindowStyle}"
WindowStartupLocation="CenterScreen"
ShowIconOnTitleBar="True"
MinWidth="900"
Name="Window"
Background="WhiteSmoke">
<mahapps:MetroWindow.IconTemplate>

@ -0,0 +1,15 @@
using System;
using System.Diagnostics;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Navigation;
namespace Geared.Wpf.Home
{
public partial class HomeView
{
public HomeView()
{
InitializeComponent();
}

@ -0,0 +1,15 @@
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Globalization;
using System.Windows.Controls;
using System.Windows.Data;
using Geared.Wpf.Intro;
using DynamicAxisUnitView = Geared.Wpf.DynamicAxisUnit.DynamicAxisUnitView;
using FinancialSeriesView = Geared.Wpf.FianancialSeries.FinancialSeriesView;
using HistogramView = Geared.Wpf.Histogram.HistogramView;
using MultipleSeriesView = Geared.Wpf.MultipleSeriesTest.MultipleSeriesView;
using ScatterView = Geared.Wpf.Scatter.ScatterView;
using ScrollableView = Geared.Wpf.Scrollable.ScrollableView;
using SpeedTestView = Geared.Wpf.SpeedTest.SpeedTestView;
using StackedSeriesView = Geared.Wpf.StackedSeries.StackedSeriesView;

@ -0,0 +1,15 @@
using System;
using System.Windows.Media;
namespace Geared.Wpf.Home
{
public class SampleVm
{
private static int _idCount;
public SampleVm()
{
Id = _idCount++;
}
public int Id { get; private set; }

@ -0,0 +1,15 @@
<UserControl x:Class="Geared.Wpf.Intro.IntroView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="16"></Setter>
</Style>
</Grid.Resources>
<StackPanel Margin="20">
<TextBlock TextWrapping="Wrap">

@ -0,0 +1,15 @@
using System;
using System.Windows.Controls;
namespace Geared.Wpf.Intro
{
/// <summary>
/// Interaction logic for IntroView.xaml
/// </summary>
public partial class IntroView : IDisposable
{
public IntroView()
{
InitializeComponent();
}

@ -0,0 +1,15 @@
<UserControl x:Class="Geared.Wpf.MultipleSeriesTest.MultipleSeriesView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:multipleSeriesTest="clr-namespace:Geared.Wpf.MultipleSeriesTest"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.DataContext>
<multipleSeriesTest:MultipleSeriesVm></multipleSeriesTest:MultipleSeriesVm>
</UserControl.DataContext>
<Grid>
<Grid.Resources>
<Style TargetType="lvc:Separator">

@ -0,0 +1,15 @@
using System;
using System.Windows.Controls;
namespace Geared.Wpf.MultipleSeriesTest
{
/// <summary>
/// Interaction logic for RecommendedSettingsView.xaml
/// </summary>
public partial class MultipleSeriesView : UserControl, IDisposable
{
public MultipleSeriesView()
{
InitializeComponent();
}

@ -0,0 +1,15 @@
using System;
using System.Windows.Media;
using LiveCharts;
using LiveCharts.Geared;
namespace Geared.Wpf.MultipleSeriesTest
{
public class MultipleSeriesVm
{
public MultipleSeriesVm()
{
Series = new SeriesCollection();
var r = new Random();
for (var i = 0; i < 30; i++) // 30 series

@ -0,0 +1,15 @@
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ExampleApp")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ExampleApp")]
[assembly: AssemblyCopyright("Copyright © 2016")]

@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Geared.Wpf.Properties {
using System;
/// <summary>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...

@ -0,0 +1,15 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Geared.Wpf.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]

@ -0,0 +1,15 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<Style x:Key="WindowStyle" TargetType="mahapps:MetroWindow">
<Setter Property="WindowTitleBrush" Value="White"></Setter>
<Setter Property="NonActiveWindowTitleBrush" Value="White"></Setter>
<Setter Property="TitleCharacterCasing" Value="Normal"></Setter>
<Setter Property="Background" Value="White"></Setter>
<Setter Property="BorderThickness" Value="0"></Setter>
<Setter Property="BorderBrush" Value="Black"></Setter>
<Setter Property="GlowBrush" Value="Black"></Setter>
</Style>

@ -0,0 +1,15 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:geared="clr-namespace:LiveCharts.Geared;assembly=LiveCharts.Geared"
xmlns:wpf="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf">
<Style TargetType="geared:GLineSeries">
<Setter Property="PointGeometrySize" Value="15"></Setter>
<Setter Property="PointForeground" Value="White"></Setter>
</Style>
<Style TargetType="geared:GStepLineSeries">
<Setter Property="PointGeometrySize" Value="15"></Setter>
<Setter Property="PointForeground" Value="White"></Setter>
</Style>
<Style TargetType="wpf:Axis">
<Setter Property="FontSize" Value="16"></Setter>
<Setter Property="Foreground" Value="#808080"></Setter>

@ -0,0 +1,15 @@
using LiveCharts;
using LiveCharts.Configurations;
namespace Geared.Wpf.Scatter
{
public class CustomScatterPoint
{
static CustomScatterPoint()
{
//in this case we are using a custom type
//just to have more control
//here I am not implementing IObservableChartPoint
//to gain some performance
//finally we teach LiveCharts to plot this type

@ -0,0 +1,15 @@
using System;
using System.Windows;
using System.Windows.Media;
using LiveCharts.Geared.Geometries;
namespace Geared.Wpf.Scatter
{
public class MarkerShape : GeometryShape
{
private PathFigure _figure;
private LineSegment[] _segments;
/// <summary>
/// Draws the specified path.
/// </summary>

@ -0,0 +1,15 @@
<UserControl x:Class="Geared.Wpf.Scatter.ScatterView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:geared="clr-namespace:LiveCharts.Geared;assembly=LiveCharts.Geared"
xmlns:geometries="clr-namespace:LiveCharts.Geared.Geometries;assembly=LiveCharts.Geared"
xmlns:scatter="clr-namespace:Geared.Wpf.Scatter"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
Name="View">
<UserControl.DataContext>
<scatter:ScatterViewModel></scatter:ScatterViewModel>
</UserControl.DataContext>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save