C# WPF 实时图表 更新动态创建的图表中的数据系列



任何人都可以就如何使用动态创建的系列(每个图表 3-5 个系列(代码更新所有动态创建的图表(10-12 个图表(提供有关如何创建图表和系列的建议: 所有图表和页面组合的页面部分:

public ChartPage()
{
InitializeComponent();
for(int i = 0; i < ChartConnector.FoundMainData; i++)
{
GroupedCharts SC = new GroupedCharts();
foreach (string SGDO in ChartConnector.MainDataTable[i].SecondLevelData.Keys)
{

SingleChartObject SingleChart = new SingleChartObject ();
for (int z = 0; z < ChartConnector.MainDataTable[i].SecondLevelData[SGDO].FoundThirdLevelData; z++)
{
SingleChart.AddNewLineToChart(ChartConnector.MainDataTable[i].SecondLevelData[SGDO].ThirdLevelData[z].ThirdLevelDataName, Convert.ToDouble(ChartConnector.MainDataTable[i].SecondLevelData[SGDO].ThirdLevelData[z].ThirdLevelDataValue));
}
SC.AddChartToGroup(SingleChart);
}
ChartList.Children.Add(SC);
}
}

图表页面中的图表列表 xaml

<StackPanel x:Name="ChartList"></StackPanel>

分组图表是用户控件,它存储来自二级数据的图表 分组图表添加图表到分组功能如下:

public void AddChartToGroup(SensorChart ChartBlock)
{
ChartGroup.Children.Add(ChartBlock);
}

下面 xaml 代码中的图表组:

<WrapPanel Orientation="Horizontal" x:Name="ChartGroup"></WrapPanel>

SingleChartObject也是Usercontrol,它具有LiveChart并添加系列,AddNewLineToChart函数代码如下:

public void AddNewLineToChart(string Name, double Value)
{
ChartValues<LiveCharts.Defaults.ObservableValue> observableValues = new ChartValues<LiveCharts.Defaults.ObservableValue>
{
new LiveCharts.Defaults.ObservableValue(Value)
};
LiveCharts.Wpf.LineSeries FreshLines = new LineSeries
{
Values = observableValues,
Title = Name
};
ChartBlock.Series.Add(FreshLines);
}

在 SingleChartObject 中绘制自己的图表

<lvc:CartesianChart x:Name="ChartBlock" Height="125" Width="300" Pan="None" >
<lvc:CartesianChart.DataTooltip>
<lvc:DefaultTooltip SelectionMode="SharedYInSeries" />
</lvc:CartesianChart.DataTooltip>
</lvc:CartesianChart>

现在的主要问题是如何同时更新所有图表,我不知道如何进行如此大规模的更新。感谢您的帮助。

您应该在应用程序中使用 MVVM 模式。与其使用"ChartList"作为StackPanel,不如使用"ItemsControl"并将其ItemTemplate设置为"GroupedCharts"。还要为此"分组图"用户控件创建视图模型。使用此视图模型的集合设置项源。您必须执行一级嵌套才能实现所需的目标。 视图模型控制视图后,它将自动更新视图。但为此,您必须正确实现 MVVM 模式。

相关内容

  • 没有找到相关文章

最新更新