【发布时间】:2013-09-26 14:06:42
【问题描述】:
这个问题是关于 codeplex 上的 DynamicDataDisplay 库。
有没有办法获取当前 ViewPort 中当前可见的数据。
即我想获取当用户进行 ctrl+鼠标缩放时当前可见的数据。
【问题讨论】:
标签: c# wpf dynamic-data-display
这个问题是关于 codeplex 上的 DynamicDataDisplay 库。
有没有办法获取当前 ViewPort 中当前可见的数据。
即我想获取当用户进行 ctrl+鼠标缩放时当前可见的数据。
【问题讨论】:
标签: c# wpf dynamic-data-display
好的,所以我自己想通了。
您的坐标区有一个名为 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。
【讨论】: