Settings Page Animation Restarts When Switching To Settings Tab #14489

Closed
opened 2026-01-31 04:11:39 +00:00 by claunia · 10 comments
Owner

Originally created by @ghost on GitHub (Jul 12, 2021).

When you have a setting tab already open and switch back and forth between the Settings tab and any other tab, the animation of the page (where the page content appears vertically centered and moves upward - which is a bit of an odd animation itself) will restart again, even though this isn't the first time opening the page.

It might have been intended, but I find it a little.... odd.

Proposed technical implementation details (optional)

A different animation might make this appear less odd. Like fade, or any number of animations.

https://user-images.githubusercontent.com/4098042/125307353-9a635c80-e2f5-11eb-896f-d39a75b7345c.mp4

Originally created by @ghost on GitHub (Jul 12, 2021). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> When you have a setting tab already open and switch back and forth between the Settings tab and any other tab, the animation of the page (where the page content appears vertically centered and moves upward - which is a bit of an odd animation itself) will restart again, even though this isn't the first time opening the page. It might have been intended, but I find it a little.... odd. <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> # Proposed technical implementation details (optional) A different animation might make this appear less odd. Like fade, or any number of animations. <!-- A clear and concise description of what you want to happen. --> https://user-images.githubusercontent.com/4098042/125307353-9a635c80-e2f5-11eb-896f-d39a75b7345c.mp4
Author
Owner

@DHowett commented on GitHub (Jul 12, 2021):

I wonder if this is because of us doing a Navigate to the root content view when the settings page comes visible. Perhaps there's something we can do to bind the root content such that it doesn't animate at all on first / subsequent launches. @carlos-zamora this might be related to the view model stuff we were talking about (since doing the navigation in the "code behind" versus as an intrinsic part of the page state may be to blame).

@DHowett commented on GitHub (Jul 12, 2021): I wonder if this is because of us doing a `Navigate` to the root content view when the settings page comes visible. Perhaps there's something we can do to bind the root content such that it doesn't animate at all on first / subsequent launches. @carlos-zamora this might be related to the view model stuff we were talking about (since doing the navigation in the "code behind" versus as an intrinsic part of the page state may be to blame).
Author
Owner

@DHowett commented on GitHub (Jul 12, 2021):

(Thanks for filing this!)

@DHowett commented on GitHub (Jul 12, 2021): (Thanks for filing this!)
Author
Owner

@carlos-zamora commented on GitHub (Jul 12, 2021):

I wonder if this is because of us doing a Navigate to the root content view when the settings page comes visible. Perhaps there's something we can do to bind the root content such that it doesn't animate at all on first / subsequent launches. @carlos-zamora this might be related to the view model stuff we were talking about (since doing the navigation in the "code behind" versus as an intrinsic part of the page state may be to blame).

I did a trace because I was curious. Looks something like this:

  • TerminalPage::_OpenSettingsUI(): select the settings tab and update content
  • MainPage::SettingsNav_Loaded():
    • if (SettingsNav().SelectedItem() == nullptr) --> false
    • nothing happens. Surprisingly, _Navigate() is not called!

So yeah, looks like XAML is just doing it for us.

Playing with the XAML controls gallery, I agree that perhaps a DrillIn or Suppress may work best. Definitely odd!

@carlos-zamora commented on GitHub (Jul 12, 2021): > I wonder if this is because of us doing a `Navigate` to the root content view when the settings page comes visible. Perhaps there's something we can do to bind the root content such that it doesn't animate at all on first / subsequent launches. @carlos-zamora this might be related to the view model stuff we were talking about (since doing the navigation in the "code behind" versus as an intrinsic part of the page state may be to blame). I did a trace because I was curious. Looks something like this: - `TerminalPage::_OpenSettingsUI()`: select the settings tab and update content - `MainPage::SettingsNav_Loaded()`: - `if (SettingsNav().SelectedItem() == nullptr)` --> `false` - _nothing happens_. Surprisingly, `_Navigate()` is not called! So yeah, looks like XAML is just doing it for us. Playing with the XAML controls gallery, I agree that perhaps a [DrillIn](https://docs.microsoft.com/en-us/windows/apps/design/motion/page-transitions#drill) or [Suppress](https://docs.microsoft.com/en-us/windows/apps/design/motion/page-transitions#suppress) may work best. Definitely odd!
Author
Owner

@Don-Vito commented on GitHub (Aug 12, 2021):

@carlos-zamora - do you have a preference between Drill in or Surpress? 😊

@Don-Vito commented on GitHub (Aug 12, 2021): @carlos-zamora - do you have a preference between Drill in or Surpress? :blush:
Author
Owner

@carlos-zamora commented on GitHub (Aug 12, 2021):

@carlos-zamora - do you have a preference between Drill in or Surpress? 😊

Let's try DrillIn!

@carlos-zamora commented on GitHub (Aug 12, 2021): > @carlos-zamora - do you have a preference between Drill in or Surpress? 😊 Let's try DrillIn!
Author
Owner

@Don-Vito commented on GitHub (Aug 12, 2021):

DrillIn

@Don-Vito commented on GitHub (Aug 12, 2021): ![DrillIn](https://user-images.githubusercontent.com/4639110/129257459-d9d868ba-541c-4809-adf8-c1a7ae116552.gif)
Author
Owner

@Don-Vito commented on GitHub (Aug 12, 2021):

@carlos-zamora - WDYT?

@Don-Vito commented on GitHub (Aug 12, 2021): @carlos-zamora - WDYT?
Author
Owner

@Don-Vito commented on GitHub (Aug 12, 2021):

OK. Committing :)

@Don-Vito commented on GitHub (Aug 12, 2021): OK. Committing :)
Author
Owner

@ghost commented on GitHub (Aug 31, 2021):

:tada:This issue was addressed in #10934, which has now been successfully released as Windows Terminal Preview v1.10.2383.0.🎉

Handy links:

@ghost commented on GitHub (Aug 31, 2021): :tada:This issue was addressed in #10934, which has now been successfully released as `Windows Terminal Preview v1.10.2383.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.10.2383.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Author
Owner

@ghost commented on GitHub (Aug 31, 2021):

:tada:This issue was addressed in #10934, which has now been successfully released as Windows Terminal Preview v1.11.2421.0.🎉

Handy links:

@ghost commented on GitHub (Aug 31, 2021): :tada:This issue was addressed in #10934, which has now been successfully released as `Windows Terminal Preview v1.11.2421.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.11.2421.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#14489