如何以编程方式确定WPF图表的Y轴部分的宽度?

时间:2011-06-10 23:31:25

标签: c# wpf charts silverlight-toolkit

我正在开发一个具有堆积柱形图的WPF应用程序(我正在使用Silverlight Toolkit图表功能)。我需要动态地在图表的一部分上覆盖半透明矩形 - 矩形的大小和位置需要适应X轴上的数据点的数量。 X轴值表示天数,其数量可能会有所不同,但矩形总是需要覆盖30天。

无论如何,我已经弄清了大部分内容,但我需要找出图表的Y轴标签部分占用多少宽度,以便我可以将其考虑在我的矩形尺寸和位置计算。

可用的图表有“实际宽度”属性,但我不知道如何获得Y轴标签区域的实际宽度。有谁知道怎么找到这个?

1 个答案:

答案 0 :(得分:1)

我能够通过等到图表加载然后使用此处描述的技术http://www.scottlogic.co.uk/blog/colin/2009/03/adding-a-location-crosshair-to-silverlight-charts-again/来解决此问题。

这里的关键是在收到Loaded事件时进行处理:

MyChart.Loaded += (sender, e) =>
{
    // MyChart is about to be rendered
    // it's now safe to access the ActualWidth properties of the chart components
    MyRectangle.Left = MyChart.ActualWidth/2;
}