Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft] Enabling Fluent as default theme using an opt-in and app.config #9332

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

dipeshmsft
Copy link
Member

@dipeshmsft dipeshmsft commented Jul 1, 2024

Description

NOTE : This shows how the changes will look like for enabling fluent as default. This doesn't mean these are final and neither that we will disable the implicit loading method available currently.

This PR includes the changes that will be required to make "Enabling Fluent as default theme" possible. There are parts of it that will be done differently while making the final changes, but this here is to show what are the minimal changes that will be required to make the above possible.

The PR consists of various commits and changes in PR can be divided into different parts :

  • Introduced AppContxtSwitch to enable fluent as default theme : 69f8ca0, 0a13a85
  • Merged the ThemeGenerator script for Fluent : 8e815bb
  • Merged the remaining additional styles ( this refers to the PR ) : a8f1d65
  • Enabled text search in SystemResources, this allows for using Fluent theme colors and brushes even when they are loaded as default : 4c45cbd
  • Enabled use of app.config to choose only on Light / Dark variation of the theme : faabc48
  • Added use of AccentColor from SystemColors : e0a00a7
  • Made DynamicResource as StaticResource wherever possible in Fluent : ef52cad. This deviates from the level of customization needed for Fluent, but I made these changes for now to reduce the changes needed to enable fluent as default.
  • Various fixes for Fluent styles.

Customer Impact

This will allow developers to load Fluent themes as default styles and it will allow them to test the capabilities and the gaps in the new theme, which we would then want to fix in the next .NET release.

Regression

No

Testing

Still pending. Also, there are a few things that are missing from this PR - like using Fluent theme when HighContrast mode is on, DataGrid style is not loading. I will fix this in coming weeks.

Risk

Since, we made some changes in the way SystemResources behave, there may be some issues that can come up. Need to wrap the SystemResource changes inside the Fluent app context flag as well.

Microsoft Reviewers: Open in CodeFlow

@dipeshmsft dipeshmsft requested review from a team as code owners July 1, 2024 19:05
@dipeshmsft dipeshmsft marked this pull request as draft July 1, 2024 19:06
@dotnet-policy-service dotnet-policy-service bot added the PR metadata: Label to tag PRs, to facilitate with triage label Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
draft PR metadata: Label to tag PRs, to facilitate with triage Win 11 Theming
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants