You may tell ChartDirector to redraw the chart, otherwise the chart will not be redrawn. It is because ChartDirector cannot know if you have already finished updating the viewport, so it cannot redraw the chart until your code tells it to redraw it.
In the above sample code, the user can uses the slider to update the viewport. When the user moves the slider, in the "zoomBar_ValueChanged" event handler, there are multiple lines of code to update the viewport. After the viewport update is completed, it calls WPFChartViewer.updateViewPort to trigger a ViewPortChanged event. actual redrawn is performed in the ViewPortChanged event handler (WPFChartViewer1_ViewPortChanged).
For your case, instead of using a slider, you can use pushbuttons to modify the viewport. Just remember to add a line of code to cause the chart to redraw. (If your code are based on the Zooming and Scrolling sample code, the chart is redrawn in the ViewPortChanged event handler, so using updateViewPort can cause the chart to redraw.)
Usually, for zooming and scrolling, the user would update the viewport (ViewPortLeft and ViewPortWidth) to pan or zoom in/out. Of course, it is also possible to update the full range if you want to.