mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-20 00:16:36 +08:00
项目结构调整
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using LiveCharts;
|
||||
using LiveCharts.Defaults;
|
||||
using LiveCharts.Helpers;
|
||||
using LiveCharts.Wpf;
|
||||
|
||||
namespace Wpf.CartesianChart.UIElements
|
||||
{
|
||||
public class UiElementsViewModel
|
||||
{
|
||||
private DateTimePoint _selectedPoint;
|
||||
|
||||
public UiElementsViewModel()
|
||||
{
|
||||
Values = DataProvider.Points.AsChartValues();
|
||||
Formatter = x => new DateTime((long) x).ToString("dd MMM");
|
||||
Step = TimeSpan.FromDays(1).Ticks * 2;
|
||||
|
||||
//lets get some random points to add an even in the chart.
|
||||
var e1 = Values.Skip(15).Take(1).First();
|
||||
var e2 = Values.Skip(35).Take(1).First();
|
||||
|
||||
SelectedVisualElement = new VisualElement
|
||||
{
|
||||
HorizontalAlignment = HorizontalAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Bottom,
|
||||
UIElement = new SelectedItemControl()
|
||||
};
|
||||
|
||||
Visuals = new VisualElementsCollection
|
||||
{
|
||||
new VisualElement
|
||||
{
|
||||
X = e1.DateTime.Ticks,
|
||||
Y = e1.Value,
|
||||
HorizontalAlignment = HorizontalAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Top,
|
||||
UIElement = new EventAControl()
|
||||
},
|
||||
new VisualElement
|
||||
{
|
||||
X = e2.DateTime.Ticks,
|
||||
Y = e2.Value,
|
||||
HorizontalAlignment = HorizontalAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Top,
|
||||
UIElement = new EventBControl()
|
||||
},
|
||||
SelectedVisualElement
|
||||
};
|
||||
}
|
||||
|
||||
public ChartValues<DateTimePoint> Values { get; set; }
|
||||
public VisualElementsCollection Visuals { get; set; }
|
||||
public VisualElement EventA { get; set; }
|
||||
public VisualElement EventB { get; set; }
|
||||
public VisualElement SelectedVisualElement { get; set; }
|
||||
public Func<double, string> Formatter { get; set; }
|
||||
public double Step { get; set; }
|
||||
public DateTimePoint SelectedPoint
|
||||
{
|
||||
get { return _selectedPoint; }
|
||||
set
|
||||
{
|
||||
_selectedPoint = value;
|
||||
UpdateSelectedVisual();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateSelectedVisual()
|
||||
{
|
||||
SelectedVisualElement.X = SelectedPoint.DateTime.Ticks;
|
||||
SelectedVisualElement.Y = SelectedPoint.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user