For programmatically navigate from one page to another(as you have button click on your post)
NavigationService navService = NavigationService .GetNavigationService(this)
navService.navigate = (new System.Uri("Page2.xaml",UriKind.AbsoluteOrRelative);
or
Page2 nextPage = new Page2();
navService.Navigate(nextPage);
Or you can you use conditional code in your eventHandlers to decide which page to go
WPF navigation would be async in nature...
Hope that helps..