使用Microsoft Charts创建图表时,我需要在图表上获得网格的确切位置.
这个页面说 - 据我所知 - 这可以用InnerPlotPosition实现.但是,使用此属性时,我得到以下矩形:
这个矩形似乎与图表大小成比例; 在调整图表大小时,矩形会缩小,但仍会在所有边缘上保持在网格外部.我已尝试使用常量添加和乘以大小,但没有一个常量适用于所有大小.
所以,只是为了澄清,我想要的是网格上的外部黑色矩形.有没有办法得到这个?
(我一直在考虑从边缘扫描像素,并检测每个方向上的第一个黑色像素,但这听起来像是一个肮脏的黑客.)
我终于找到了一个有效的解决方案:
ChartArea a = chart.ChartAreas[0];
double x1 = a.AxisX.ValueToPixelPosition(a.AxisX.Minimum);
double x2 = a.AxisX.ValueToPixelPosition(a.AxisX.Maximum);
double y1 = a.AxisY.ValueToPixelPosition(a.AxisY.Maximum);
double y2 = a.AxisY.ValueToPixelPosition(a.AxisY.Minimum);
Run Code Online (Sandbox Code Playgroud)