Я пытаюсь проверить, вошел ли пользователь в систему, прежде чем разрешить навигацию на любые страницы, если не будет перенаправлен на страницу входа. Я работаю над этим внутри элемента рамки.WPF. Переполнение переполнения стека
Текущий код создает бесконечный цикл, если пользователь не вошел в систему. Могу ли я его вызвать, а также передать обработчик события, который говорит ему игнорировать .navigate для этой одной строки?
public MainWindow() {
InitializeComponent();
FrameWindow.Navigating+=FrameWindow_Navigating;
}
private void FrameWindow_Navigating(object sender, NavigatingCancelEventArgs e) {
try {
if (UserLoggedIn()) {
//continue
}
else {
Uri uri = new Uri("Login.xaml", UriKind.Relative);
FrameWindow.NavigationService.Navigate(uri);
}
}
catch (Exception ex){
throw ex;
}
}