不能通过代码清除Silverlight chart工具箱轴
本文关键字:chart 工具箱 Silverlight 清除 代码 不能 | 更新日期: 2023-09-27 18:04:35
我正在尝试有一个Silverlight图表(windows phone 7),用户可以通过更改一些设置来修改。
在清除图表轴并读取新轴后,结果是chart.ActualAxes.Count
报告了双轴。有人知道如何完全清除和删除silverlight图表上的所有轴并添加新的轴吗?我是不是要调用一些东西来更新ActualAxes列表后添加?
thanks in advance
代码示例(调用此代码两次,您的图表将以4轴而不是2轴结束):
chart.Axes.Clear();
chart.Axes.Add(new LinearAxis()
{
Orientation = AxisOrientation.Y,
Location = AxisLocation.Left,
Minimum = 0
});
chart.Axes.Add(new DateTimeAxis()
{
Orientation = AxisOrientation.X,
Location = AxisLocation.Bottom,
IntervalType = DateTimeIntervalType.Days
});
Chart Axes
集合表示即使图表中没有序列也要呈现的图表中的persistentAxes。ActualAxes
表示持久轴和图表中系列使用的轴的组合。
当你清除集合并测试ActualAxes.Count
时,你会发现它仍然说2,即使Axes
现在是0。ActualAxes
(SeriesHostAxesCollection
的一个实例)将不允许删除正在使用的现有系列的轴。因此,ActualAxes
系列保留了原始版本。然后将另外2个添加到持久的Axes
集合中,因此这2个新集合也添加到ActualAxes
中,最终得到4个。
再次运行代码(第三次),您应该看到ActualAxes
计数仍然是4。这是因为你在第二个调用中添加的2轴没有被任何系列使用,所以它们可以从ActualAxes
集合中删除。
下面的代码应该可以工作
var xAxis = chart_name.ActualAxes.OfType<LinearAxis>().FirstOrDefault(ax => ax.Orientation == AxisOrientation.X);
if (xAxis != null)
{
xAxis.Title = "The Title";
}