You’re absolutely not wrong — this pain is very real, and you’ve hit one of the longest-standing productivity gaps in Canvas Apps.
Short version: you are correct, this capability simply does not exist today, and yes — everyone building non-trivial forms runs into this.
Why this is such a problem (and you’re not imagining it)
Canvas Apps were originally designed around small, lightweight apps, not enterprise-scale forms with:
-
50–150 autogenerated DataCards
-
SharePoint-customised list forms
-
multiple screens reused across solutions
When a form is generated, Power Apps:
-
creates every DataCard as an independent control
-
gives each child control its own properties
-
provides no inheritance model
So even though you can define:
varFont
varFontSize
varPrimaryColor
you still must manually set:
Font = varFont
Size = varFontSize
Color = varPrimaryColor
on every single control.
There is currently no bulk assignment mechanism.
What Power Apps is missing (architecturally)
Canvas Apps do not support:
-
CSS-like cascading styles
-
parent-child property inheritance
-
multi-select property editing
-
form-level defaults
-
control templates
Every control is isolated.
That’s why this feels so wrong — because almost every other UI framework supports exactly what you described.
Current status (as of today)
There is:
-
❌ no “apply to all DataCards”
-
❌ no multi-control property editor
-
❌ no screen-level styling
-
❌ no form theme inheritance
-
❌ no bulk update tool in Tree View
Even if you select 20 controls at once, the property pane still edits only the active one.
This is not a bug — it’s simply missing functionality.
What makers are doing as workarounds
None are good, but these are the common ones:
✅ 1. Use Components (partial solution)
Put labels, inputs, headers into reusable components.
Pros:
-
central styling
-
one-place updates
Cons:
Helps new builds, doesn’t solve generated forms.
✅ 2. Use theme variables
Centralise values:
Set(varFont, Font.'Segoe UI');
Set(varFontSize, 12);
Still requires manual assignment to every control.
Improves maintenance — not productivity.
✅ 3. Copy–paste formatting
Copy a control → paste → rebind field.
Works, but:
✅ 4. Edit JSON (unsupported)
Some advanced makers export the app, edit the source JSON, and reimport.
This technically works — but:
-
completely unsupported
-
extremely risky
-
breaks easily
-
not suitable for teams
Why this hurts SharePoint customised forms especially
SharePoint custom forms are the worst case because:
-
forms auto-generate dozens of DataCards
-
every regeneration resets formatting
-
no components allowed at creation time
-
no templates
-
no inheritance
So you end up re-doing the same styling again and again.
Your frustration is completely justified.
Why this hasn’t been fixed yet
Internally, this requires:
-
a new property inheritance engine
-
backward compatibility across millions of existing apps
-
conflict resolution between parent and child properties
It’s not a small change — but it’s absolutely solvable.
Microsoft has partially acknowledged this by introducing:
-
modern controls
-
theme tokens
-
design system direction
…but the final step (bulk application) still hasn’t arrived.
Community consensus
This is consistently ranked among the top Canvas App UX requests, alongside:
You’re far from alone.
Where to raise this (and it actually matters)
If you haven’t already, post this to:
Power Platform Ideas Portal
https://ideas.powerplatform.com
Search for:
“bulk update properties canvas apps”
“apply formatting to all datacards”
“global styles canvas apps”
There are multiple existing ideas — upvoting them helps more than creating duplicates.
Microsoft product team actively tracks votes there.
Bottom line
You’re not missing something.
You’re not doing it wrong.
There is simply no built-in way today to:
-
apply formatting to all DataCards
-
edit properties across multiple controls
-
define screen-level styling
And yes — it’s a massive time waster in real apps.