private void UnloadedHandler(object sender, RoutedEventArgs e) { if (splitView != null) { splitView.UnregisterPropertyChangedCallback(SplitView.DisplayModeProperty, displayModePropertyChangedToken); splitView.UnregisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, isPaneOpenPropertyChangedToken); } splitView = null; unloadedTaskSource.SetResult(null); }
private async void LoadedHandler(object sender, RoutedEventArgs e) { // Workaround because the Windows Runtime does not guarantee that first the Unloaded handler is called before the second Loaded handler comes. await unloadedTaskSource.Task; unloadedTaskSource = new TaskCompletionSource <object>(); splitView = GetAncestor <NavigationSplitView>(this); if (splitView != null) { displayModePropertyChangedToken = splitView.RegisterPropertyChangedCallback(SplitView.DisplayModeProperty, SplitViewDisplayModeChanged); isPaneOpenPropertyChangedToken = splitView.RegisterPropertyChangedCallback(SplitView.IsPaneOpenProperty, SplitViewIsPaneOpenChanged); } UpdateContentPresenterPadding(); }