DynamicDataDisplay WPF - 获取当前视口中的数据

时间:2013-09-26 14:06:43

标签: c# wpf dynamic-data-display

此问题与codeplex上提供的DynamicDataDisplay库有关。

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

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

1 个答案:

答案 0 :(得分: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