我正在尝试使用Silverlight图表(Windows Phone 7),用户可以通过更改某些设置进行修改。
清除图表轴并读取新轴后,我最终会通过 chart报告双轴.ActualAxes.Count
有谁知道如何完全清除和删除silverlight图表上的所有轴并添加新轴?我是否打算在添加?
之后调用某些内容来更新 ActualAxes 列表提前致谢
代码示例(调用两次,你的图表最终会有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
});
答案 0 :(得分:2)
图表Axes
集合表示图表中的persistentAxes,即使图表中没有系列也会呈现。 ActualAxes
表示持久轴和图表中系列使用的轴的组合。
当您清除收藏并测试ActualAxes.Count
时,即使Axes
现在为0,您仍会发现它仍然显示为2. ActualAxes
(SeriesHostAxesCollection
的实例)将会不允许移除正在使用的轴是现有系列。因此ActualAxes
集合保留了原件。然后,您将另外两个添加到持久性Axes
集合中,以便这两个新的集合也会添加到ActualAxes
,最后会有4个。
再次运行你的代码(第三次),你应该看到ActualAxes
计数仍然是4.这是因为你在第二次调用中添加的2轴没有被任何系列使用,所以可以删除它们来自ActualAxes
集合。
答案 1 :(得分:1)
以下代码应该有效
var xAxis = chart_name.ActualAxes.OfType<LinearAxis>().FirstOrDefault(ax => ax.Orientation == AxisOrientation.X);
if (xAxis != null)
{
xAxis.Title = "The Title";
}