1

Is it possible to create custom theme in PowerApps from Canvas App? Will be ever be available or are there any alternatives?

I know it can be done for Model-drive apps.

1
  • how do I reassemble and import the package in the powerapps GUI? Could you explain this step please? Thank you!
    – Dash
    Jun 28, 2021 at 12:57

1 Answer 1

0

Some things can be done.

You can make an 'empty' app, export it and dissect it. The export package is a zip file, inside is also an .msapp file which is also a zip. You can extract this with the directory structure inside using 7zip, (I use total commander for this) You can alter (I use notepad++ with a json plugin) the \References\Themes.json file inside the .msapp file, and reassemble an import the package in the powerapps GUI. Now each control you insert, has the new theme colors.

Maybe this is sufficient for you.

But be advised that there is more to theme, then what you find in the themes.json. Not all control properties are covered in the themes file.

And I also found I cannot control certain GUI parts at all, for example the 'X' you use to close a select (combo box or choice) on a phone. It will always be black until M$ fixes this.

Also you would probably like to switch between themes. This requires requires a different approach where you give all properties of a type of control, the name of one (1) control. So e.g. you should have a 'Text input' control called themedTextinput, best separate (on another screen), that would be the 'source'. Then all other 'Text input' controls 'Fill' properties, should be called themedTextinput.Fill. all other 'Text input' controls 'Color' should be called themedTextinput.Color, etc ,etc. When you do this the 'Text input' control can now be themed, so you should do this for each control type.

Using this approach, you can use a variable in an If() or a Switch() to control the properties of themedTextinput, and all other Text input controls will follow when you switch themes.

I'm looking for ways to rename all control properties at once.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.