Fixed TabItem.ContentTemplate being reused for the next tab item #17141
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.
When
TabControl
switches between items, it first changesSelectedContent
, and then changesSelectedContentTemplate
. This means that there is a gap within which the content and content template can be out of sync.What does the pull request do?
This PR determines whether
SelectedContentTemplate
is about to change when switchingTabItem
. If it is, the value is now cleared before changing eitherSelectedContent
orSelectedContentTemplate
. This avoids an unnecessary template build call and prevents the old template and any controls generated from it from ever seeing the new content object. They may not expect or support the new content object.Breaking changes
None, unless you count the template being built with the wrong content immediately before being built again with the right content a supported feature.
Obsoletions / Deprecations
None.