2
此問題是關於在codeplex處可用的DynamicDataDisplay庫。DynamicDataDisplay WPF - 獲取當前視口中可見的數據
有沒有辦法獲取當前ViewPort中當前可見的數據。
即我想獲得當用戶進行Ctrl +鼠標縮放時當前可見的數據。
此問題是關於在codeplex處可用的DynamicDataDisplay庫。DynamicDataDisplay WPF - 獲取當前視口中可見的數據
有沒有辦法獲取當前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
這一點。