Almanac
Microsoft/power-appsPower Platform

Consultant KB for Microsoft Power Apps: canvas apps, model-driven apps, Power Fx, data and connections, controls and UI, code and extensibility, mobile and offline, ALM and solutions, governance and security, licensing and performance, plus cross-cutting decision guides. Implementation notes, configuration decisions and the gotchas that bite on real projects. Populated by the daily author agent from the Power Apps release plans, docs repo and product blog, plus the author's own consultant notes.

feature-modern-controls.mdv1 · history
CurrentApplies to CanvasUpdated last monthSource Microsoft Learn

What it does

A second control set for canvas apps built on Microsoft's Fluent 2 design system, turned on per app alongside a central theming system. Modern controls sit in the same insert categories as the controls you already know, and the classic ones move into two categories named Classic and Classic icons once you switch the toggle.

Key facts

  • You turn them on per app: Settings > Updates > New > Modern controls and themes. There's no tenant or environment switch, so an estate can be half and half.
  • The set covers Avatar, Badge, Button, Checkbox, Combobox, Data Grid, Date picker, Form, Header, Info button, Link, Number input, Progress bar, Radio group, Slider, Spinner, Tabs, Text, Text input and Toggle.
  • As of the reference page updated 21 July 2026, Card, Copilot answer, Dropdown, Stream and Table are still flagged preview. The rest aren't.
  • From February 2026 there are updated versions of individual controls with renamed properties, enum values in place of strings, and changed event timing. Updating is per control, via an Update button on a notification in Studio.
  • The big behaviour change: Text Input now fires OnChange on focus out only, not on every keystroke. Number Input fires on focus out plus step button clicks. Combo Box now fires on every selection.
  • BorderRadius is gone, replaced by RadiusTopLeft, RadiusTopRight, RadiusBottomLeft and RadiusBottomRight. FontColor became Color, FontSize became Size, and FontWeight.Medium no longer exists — it maps to Normal on update.
  • Drop an updated control onto a mobile layout and it picks up touch-friendly sizes and larger font defaults automatically.

When to use / skip

Turn them on for anything new. The accessibility and performance story is better, theming only works properly with them, and the classic set is clearly in maintenance. For an existing app in production, leave it alone unless you have a reason — flipping the toggle doesn't convert anything, but it changes the authoring surface and invites someone to mix the two sets without thinking. The February 2026 property renames are the real cost of adoption on a mature app, and they're a find-and-fix job across every formula, not a one-click migration.

Configuration decisions

  • Whether modern is the default for new apps across the estate, and whether you write that down anywhere people will read it.
  • Whether to accept the per-control updates now or defer them, given each one may break formulas.
  • Which preview controls you'll allow in production work, and which are off limits until they GA.
  • Whether you keep OnChange logic on text inputs at all, or move to referencing the control's output property directly for live-search behaviour.
  • Whether mobile layouts get the new touch defaults or you override them for design consistency with existing screens.

Gotchas

  • The OnChange-on-blur change to Text Input is the one that bites. Anything doing per-keystroke filtering, validation or variable updates silently stops working the way it did. Reference TextInput1.Text directly instead.
  • Enum values replace strings, so "Bold" becomes FontWeight.Bold. Hardcoded strings in formulas fail rather than degrade.
  • The Update button doesn't appear on every control at once. You'll do this in waves, not in one session.
  • Preview status is per control, not for the set as a whole. Check the reference page before you commit to Table or Dropdown in a delivery.

Consultant notes

  • Position this as the current control set, not as "the new one". Clients who hear "new" hear "risky", and the classic set is the one that's actually standing still.
  • Budget explicit time for the February 2026 property renames on any app you inherit. It's not a big job per control, but it's tedious across twenty screens and nobody costs it.
  • If the client has a design system or brand guidelines, modern controls plus modern themes is the only combination that gets you close without hand-styling every control.
  • Warn anyone using preview controls that preview terms apply and there's no support commitment. Get that in writing if it's going into a production app.

Worth a look each time the modern controls reference page changes — the preview flags move quietly.

Was this accurate?