这个问题是关于codeplex上的 DynamicDataDisplay 库 。
有没有办法获取当前 ViewPort 中当前可见的数据。
即我想获取当用户进行 ctrl+鼠标缩放时当前可见的数据。
好的,所以我自己想通了。
您的坐标区有一个名为 AxisControl 的属性,它有一个属性 Range。Range 属性具有轴内实际显示的最小值和最大值。
Xaml
<d3:ChartPlotter Name="Plotter">
<d3:ChartPlotter.HorizontalAxis>
<d3:HorizontalDateTimeAxis Name="XAxis"/>
</d3:ChartPlotter.HorizontalAxis>
<d3:ChartPlotter.VerticalAxis>
<d3:VerticalAxis Name="YAxis" />
</d3:ChartPlotter.VerticalAxis>
</d3:ChartPlotter>
代码
Plotter.Loaded += (s, e) => Plotter.Viewport.PropertyChanged += ViewportOnPropertyChanged;
private void ViewportOnPropertyChanged(object sender, ExtendedPropertyChangedEventArgs e)
{
var minX = XAxis.AxisControl.Range.Min;
var maxX = XAxis.AxisControl.Range.Max;
var minY = YAxis.AxisControl.Range.Min;
var maxY = YAxis.AxisControl.Range.Max;
}
您不一定要为此使用Viewport.PropertyChanged
。