我正在开发一个具有堆积柱形图的WPF应用程序(我正在使用Silverlight Toolkit图表功能)。我需要动态地在图表的一部分上覆盖半透明矩形 - 矩形的大小和位置需要适应X轴上的数据点的数量。 X轴值表示天数,其数量可能会有所不同,但矩形总是需要覆盖30天。
无论如何,我已经弄清了大部分内容,但我需要找出图表的Y轴标签部分占用多少宽度,以便我可以将其考虑在我的矩形尺寸和位置计算。
可用的图表有“实际宽度”属性,但我不知道如何获得Y轴标签区域的实际宽度。有谁知道怎么找到这个?
答案 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;
}