技術情報ブログ
Power Platform
2025.11.26

Power Apps:テーマカラー変更機能を実装しよう

Power Apps:テーマカラー変更機能を実装しよう
伊礼圭吾

こんにちは。アーティサン株式会社の伊礼(いれい)です。

ダークモード機能やテーマカラー変更機能ってありますよね。

白を基調とした清潔感のあるデザインや、暗い色をベースにした目に優しいデザインなど…
ユーザーの好みや環境で選べる、あったらチョットウレシイそんな機能。

今となってはいろんなアプリやWebサイト、OSにも搭載されていますし、
近年では色覚多様性に配慮したカラーユニバーサルデザインが求められる場面もあるかもしれません。

今回はそういったテーマカラーを選択できる機能をPower Appsで作成したアプリに実装してみたいと思います。

動作イメージ

Videotogif (2)

アーティサンでは、Power Apps を用いたアプリ開発のご支援や、 企業様の内製化サポートも行っております。
「自社でも Power Apps を活用したい」「設計から相談したい」という方は、 以下のサービスもぜひご覧ください。


目次

 

1. まずはアプリの画面を用意

今回はMicrosoftより提供されているカレンダーテンプレートに実装していきます。
皆さんもそれぞれ任意のアプリ画面をご用意ください。

Power Appsカレンダーテンプレート画面

 

2. App.Formulasにカラーセットを設定

最初にAppのFormulasプロパティにカラーセットを記述していきます。

カラーセットは以下のように記述していきます。

  • App.Formulas

MainTheme = {
    Primary: RGBA( 0,144, 168, 1),
    Secondary: RGBA(229, 244, 245, 1),
    Accent: RGBA(225, 70, 72,1),
    Background: RGBA(255, 255, 255, 1),
    Text: RGBA(51, 51, 51, 1),
    Border: RGBA(51, 51, 51, 1)
};

Formulasプロパティとは?

アプリ全体で利用可能な変数や関数を定義することができるプロパティです。
このプロパティで定義した値はアプリ内すべての画面から参照できるので、
今回のテーマカラーのように各画面から共通で使用したい値などを定義する場合に適しています。

参考:Formulasプロパティ : Microsoft Learn

今回はWebアプリケーションでも主要なカラーセットをもとに定義しています。

  • Primary (プライマリカラー)
    デザイン全体の主軸となる基本色。ブランドや製品のイメージを強調し、ユーザーの印象に残る色

  • Secondary (セカンダリカラー)
    プライマリカラーを補完し、追加の視覚的なアクセントを提供する

  • Accent (アクセントカラー)
    目立たせたい要素やユーザーの目を引きたいポイントに使用される色

  • Background (背景色)
    ページや画面全体のバックグラウンドとして使用される色

  • Text (テキストカラー)
    主に平文などに使用される色。バックグラウンドカラーとコントラストのある色が選ばれやすい

  • Border (ボーダーカラー)
    枠線などに使用される色

これらのカラー以外にもアプリによっては、サブテキストやホバーなどのカラーを定義することもあります。

今回は上記の6項目で、複数のテーマを作成してみましょう。

  • App.Formulas

//アーティサン公式サイトをイメージしたテーマ
MainTheme = {
    Primary: RGBA( 0,144, 168, 1),
    Secondary: RGBA(229, 244, 245, 1),
    Accent: RGBA(225, 70, 72,1),
    Background: RGBA(255, 255, 255, 1),
    Text: RGBA(51, 51, 51, 1),
    Border: RGBA(51, 51, 51, 1)
};

//ダークモードのテーマ
DarkModeTheme = {
    Primary: RGBA(33, 33, 33, 1),
    Secondary: RGBA(55, 55, 55, 1),
    Accent: RGBA(100, 181, 246, 1),
    Background: RGBA(18, 18, 18, 1),
    Text: RGBA(255, 255, 255, 1),
    Border: RGBA(90, 90, 90, 1)
};

//夕焼けのような優しいオレンジのテーマ
SunsetTheme = {
    Primary: RGBA(255, 140, 105, 1),
    Secondary: RGBA(255, 221, 178, 1),
    Accent: RGBA(255, 183, 147, 1),
    Background: RGBA(245, 230, 215, 1),
    Text: RGBA(60, 40, 40, 1),
    Border: RGBA(204, 102, 102, 1)
};

各テーマのカラーセットの記述が完了したら、App.Formulasの最後に次の式を追加しましょう。

  • App.Formulas

ColorSet = [MainTheme,DarkModeTheme,SunsetTheme];

これにより、各テーマがColorSetテーブルに格納されます。

 

Power Apps のカスタマイズでお困りですか?
画面デザインの最適化やテーマ構築など、アーティサンでは実践的な内製化支援を行っています。
「こういう機能を自社アプリにも取り入れたい」という場合は、以下のサービスをご活用ください。

3. テーマ変更用の各種オブジェクトを作成

ユーザーがテーマカラーを選択できる機能を実装していきます。

まずはテーマカラー選択タブを作っていきましょう。
コンテナーの中にギャラリーを配置して、その配下にボタンを格納します。

↓ツリービュー

ツリービュー

ギャラリーとボタンを配置したら、アイテムとボタンの色を設定します。

  • galColorTheme.Items

ColorSet
  • btnThemeSelect.Fill

ThisItem.Primary
  • btnThemeSelect.BorderColor

ThisItem.Accent

ボタンのHoverやPressしたときの色も設定してあげると、実際にボタンを押したときの見栄えもいいですね。

  • btnThemeSelect.HoverFill

ThisItem.Primary
  • btnThemeSelect.HoverBorderColor

ThisItem.Secondary
  • btnThemeSelect.PressFill

ThisItem.Primary
  • btnThemeSelect.PressBorderColor

ThisItem.Accent

私はこのようになりました。

動作例

配置する場所やサイズ、構成などは皆さんのアプリに合わせて調整してみてください。

続いて、先ほど追加したテーマカラー選択タブの表示、非表示を切り替える処理を記述していきます。

  • btnThemeTab.OnSelect

//テーマカラー選択タブの表示、非表示を切り替え
UpdateContext({IsThemeTabVis:!IsThemeTabVis});

bool値は否定演算子である「 ! 」を活用することで、If関数などを使わずに反転させることができます!

  • ctnThemeTab.Visible

IsThemeTabVis

この通り、アイコンをクリックすることでテーマ一覧タブの表示、非表示を切り替えることができます。

表示切替

続けて本命のテーマ入れ替え処理、といってもたったの1行です!

  • btnThemeSelect.OnSelect

//選択したテーマを反映
Set(SelectTheme,ThisItem);

これで下準備は完了です!

 

4. 各コントロールにテーマカラーを適用

ついにアプリの各コントロールにテーマカラーを適用していきます。
といっても方法はとても簡単。

各オブジェクトのFillやColor、BorderColorに対して

SelectTheme.Primary //Primaryなど任意のパラメーターを指定

といった式を設定していくだけです!

 

5. 動作確認

これらの設定を済ませることで…

完成動作

自由自在にテーマカラーを変更することができます!

もちろん定義するテーマカラーを増やすことで、より豊富なテーマカラーを実現できますし、

各テーマの項目を増やすことで、1つのテーマの中でもより詳細に各コントロールのカラー設定が可能になります。

 

おわり

今回はPower Appsにおけるテーマカラー変更機能の実装でした。

実装は非常にシンプルですが、こういう機能はアプリが目に見えて変化するのでとても楽しいですね!

ちなみに実際にアプリを構築する際のデザイン方針については、デジタル庁より提供されている デジタル庁デザインシステムβ版 が非常に参考になります。

システムにおけるカラーデザインや、アクセシビリティ要件についても分かりやすくまとめられていて、弊社でもお客様へ提供するPower Appsの画面デザインの参考とさせていただいております!
参考:カラー(概要)|デジタル庁デザインシステムβ版

Power Appsという制限の中で、ユーザーが使いやすいデザインを考えるのはすごく難しいことですが、
本記事が少しでも皆さんの参考になれれば嬉しいです!

👨‍💻 Power Apps の構築・デザインでお悩みの方へ

アーティサンでは、Power Apps の画面設計、機能追加、内製化支援などを通じて、 企業様のアプリ活用をトータルでサポートしています。
「自社に合わせたアプリを作りたい」「プロに相談しながら進めたい」など、 どんな段階でもお気軽にご相談ください。

伊礼圭吾

それでは!

この記事を書いた人
伊礼圭吾

伊礼 圭吾いれい けいご

Power Platform全般 Power Apps Dataverse Copilot Studio

Power Platformの設計・開発・コンサルティングを担当しています。既存システムからの移行検証や、Power Platformの特性に合わせた再設計はお任せください!

PL-200 PL-600

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.04.08

技術ブログ100本書いてみたら、想像以上に得るものがあった話

2026.04.01

社内に聞く人がいない「孤独なDX」を解決!アーティサンの内製化支援サービス

2026.03.25

SharePointの便利なURLパラメータ活用術|ヘッダー削除・リスト絞り込み・メンテナンスモード

2026.03.18

Dataverse入門(6)!テーブルへのアクセス権限を管理する-部署とセキュリティロールを使いこなそう

2026.03.03

Dataverse入門(5)!モデル駆動型アプリの作り方-キャンバスアプリとの違いは?

SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーMVPDataverse テーブルExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約技術支援部署Power AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ技術ブログ 書き方リレーションシップC#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモードエンジニア ブログ メリット1対多attributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替えブログ 継続 コツ多対多validationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示技術力向上ER図ローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ文章力 鍛え方入門編AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利アウトプット 重要性1行テキストAccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key野良アプリ対策IT エンジニア 転職複数行テキストInfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キーCoEブログ モチベーション選択肢MatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェック内製化コンサルティングネタ切れ 対策日付Angular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDITサポートAI ブログ 活用整数データ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー月額定額PV数 増やすデータ型モデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キー委任問題権限管理Power AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Delegation注文管理アプリPower PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援サブグリッド
PageTop
ページトップに戻る