Fix InAppNotification not working show/hide/show sequence #3452
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #3451
When using InAppNotification and running the Show()/Dismiss()/Show() sequence "too fast", we never see the last notification.
PR Type
What kind of change does this PR introduce?
What is the current behavior?
When running the following code in the
InAppNotification
sample page, we are not seeing the last notification:What is the new behavior?
The
InAppNotification
content visibility is driven by twoVisualState
s and the control visibility is controlled using itsVisibility
property.When going "too fast", we have the following sequence:
-- control visibility set to visible
-- request visual state change to "visible"
-- request visual state change to "hidden"
-- request visual state change to "visible"
-- visual state changed to "visible"
-- visual state changed to "hidden"
-- control visibility set to collapsed (See
OnNotificationCollapsed()
)-- visual state changed to "visible"
The visual states changed events are raised even if we've never really gone into the state and our event handler for the "hidden" state is forcing the control to be collapsed.
Forcing the control to be displayed when entering the visible state is ensuring that the control visibility remains synchronized with its content.
PR Checklist
Please check if your PR fulfills the following requirements: