Extend DarkMode opt-out option for multiple descendant scenarios. #13642
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 a control wants to automatically participate in DarkMode handling, it does so by setting the
ControlStyles.ApplyThemingImplicitly
flag first thing in the overridden propertyCreateParams
.For custom control controls, which derive von other controls than controls, and which in addition have already opted in (like
ButtonBase
) in to auto-DarkMode handling, this PR makes it possible for a control to opt out in the same way.To this end, the derived custom control also needs to overwrite the
CreateParams
property, and then needs to clear theApplyThemingImplicitly
flag the first thing before calling the base implementation:Note: It may seem redundant, but it's important to clear that flag, even if it can be assumed at this point that the flag has never been set before!
Microsoft Reviewers: Open in CodeFlow