diff --git a/src/Files.App/Contexts/Page/PageContext.cs b/src/Files.App/Contexts/Page/PageContext.cs index ad4a649c68cf..5e4fda79f8c9 100644 --- a/src/Files.App/Contexts/Page/PageContext.cs +++ b/src/Files.App/Contexts/Page/PageContext.cs @@ -25,9 +25,14 @@ public PageContext() private void Page_CurrentInstanceChanged(object? sender, PaneHolderPage? modifiedPage) { - bool isCurrent = modifiedPage?.IsCurrentInstance ?? false; - var newPage = isCurrent ? modifiedPage : null; - UpdatePage(newPage); + if (page is not null && !page.IsCurrentInstance) + { + UpdatePage(null); + } + else if (modifiedPage is not null && modifiedPage.IsCurrentInstance) + { + UpdatePage(modifiedPage); + } } private void Page_ContentChanged(object? sender, TabItemArguments e) @@ -37,12 +42,9 @@ private void Page_ContentChanged(object? sender, TabItemArguments e) private void Page_PropertyChanged(object? sender, PropertyChangedEventArgs e) { - switch (e.PropertyName) + if (e.PropertyName is nameof(IPaneHolder.ActivePaneOrColumn)) { - case nameof(IPaneHolder.ActivePane): - case nameof(IPaneHolder.ActivePaneOrColumn): - UpdateContent(); - break; + UpdateContent(); } }