2

这个问题是关于codeplex上的 DynamicDataDisplay 库 。

有没有办法获取当前 ViewPort 中当前可见的数据。

即我想获取当用户进行 ctrl+鼠标缩放时当前可见的数据。

4

1 回答 1

2

好的,所以我自己想通了。

您的坐标区有一个名为 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

于 2013-09-27T08:21:10.350 回答