Scrollview不会更新

时间:2015-10-21 13:48:29

标签: c# wpf event-handling oxyplot

我在ScrollViewer中有一个PlotView:

<ScrollViewer Margin="0,25,0,0">
    <oxy:PlotView Model="{Binding myModel}" Height="2000" Margin="0,0,15,0" PreviewMouseWheel="ScrollViewer_PreviewMouseWheel" />
</ScrollViewer>

PlotView通过滚动实现缩放。由于滚动鼠标滚轮由ScrollViewer处理,我想禁用它。 我试图抓住ScrollViewer的PreviewMouseWheel事件并手动缩放PlotView:

private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
    e.Handled = true;

    if (e.Delta > 0)
        myModel.ZoomAllAxes(1.2);
    else
        myModel.ZoomAllAxes(1 / 1.2);

    myModel.InvalidatePlot(false);
}

不幸的是,直到Scrollbar到达底部或顶部才能看到模型的更新。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

请参阅this solution,我猜是类似的情况。

我猜你可以用这个解决方案建议你处理列表框的方式包装你的情节视图。