Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Add new xplat event to to propagate FlyoutItemsChanged events to the platforms #13195

Merged
merged 5 commits into from
Dec 28, 2020

Conversation

PureWeen
Copy link
Contributor

@PureWeen PureWeen commented Dec 18, 2020

Description of Change

  • Added an event to IShellController that can specifically be used to indicate FlyoutItems have changed. Currently this is based on the StructureChanged event but as of 4.6 the StructureChanged event only fires for currently visible pages. This was changed in 4.6 because it was sending a "StructureChanged" event every time you added a new Shell Element which was causing some performance issues and visual artifacts. These changes also for intelligently fire the FlyoutItem changed event when it detects that the list of Flyout Items has actually changed opposed to just firing it off all of the time

  • Converted the Flyout Items on UWP shell to use an ObservableCollection. NavigationView doesn't really do very well if you just swap out the Source.

Issues Resolved

API Changes

Added:

  • event EventHandler IShellController.FlyoutItemsChanged

Platforms Affected

  • Core/XAML (all platforms)

Testing Procedure

  • UI Test included

PR Checklist

  • Targets the correct branch
  • Tests are passing (or failures are unrelated)

@PureWeen PureWeen added a/shell 🐚 blocker Issue blocks next stable release. Prioritize fixing and reviewing this issue. labels Dec 18, 2020
@PureWeen PureWeen added this to the 5.0.0 milestone Dec 18, 2020
@PureWeen PureWeen added this to To do in vNext+1 (5.0.0) via automation Dec 18, 2020
@PureWeen PureWeen moved this from To do to In Review in vNext+1 (5.0.0) Dec 18, 2020
@PureWeen
Copy link
Contributor Author

Test failures unrelated

@rmarinho rmarinho merged commit a054afd into 5.0.0 Dec 28, 2020
vNext+1 (5.0.0) automation moved this from In Review to Done Dec 28, 2020
@rmarinho rmarinho deleted the fix_11214 branch December 28, 2020 13:55
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
4.6.0 regression on 4.6.0 a/shell 🐚 blocker Issue blocks next stable release. Prioritize fixing and reviewing this issue. i/regression t/bug 🐛
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

[Bug] Regression bug shell: when adding multiple items in FlyoutItem, only first one is shown
3 participants