Widgets
Windows 小工具是與已安裝應用程式相關聯的小型使用者介面容器。 小工具板會將這些小工具以格狀方式顯示在 Windows 桌面上,並附有個人化內容和來自您應用程式的快速操作。 你可以用 調適型卡片 定義內容,這些卡片會將資料綁定到 JSON 範本,或是使用來自 URL 的 網頁小工具提供者 顯示 HTML。 網頁小工具仍使用 Adaptive Card JSON payload 來指定內容網址。
設計指引請參見 Windows Widgets 設計概覽。
選擇一個 Widget 開發路徑
請使用此表格選擇實作路徑及下一個要開啟的主題。
| 如果您想要... | 請採用此方法 | 從這裡開始 |
|---|---|---|
| 在已封裝的 C# 桌面應用程式中新增一個 Adaptive Card 小工具 | 實作 IWidgetProvider,使用 WidgetManager 傳送範本和資料更新,並透過套件清單註冊提供者。 | C# 小工具提供者逐步解說 |
| 在已打包的 C++/WinRT 桌面應用程式中新增 Adaptive Card 小工具 | 在處理序外 COM 伺服器中實作 IWidgetProvider,並在套件資訊清單中註冊其 CLSID 與小工具定義。 | C++/WinRT 小工具提供者逐步解說 |
| 在桌面小工具中從網址顯示 HTML | 使用網頁小工具提供者。 此功能僅對歐洲經濟區用戶開放。 提供者仍會傳送包含網頁網址及備援內容的自適應卡有效載荷。 | 網頁小工具提供者 |
| 新增一個已存在的漸進式網頁應用程式(PWA)小工具 | 在網頁應用程式清單中定義 widget,並在 service worker 中處理 widget 事件。 這與桌面版的 IWidgetProvider 路徑是分開的。 | 組建 PWA 驅動的小工具 |
| 在你的桌面服務提供者中處理按鈕或表單動作 | 使用 Action.Execute 並處理 OnActionInvoked 中的動詞。 只有在 $host.isUserContextAuthenticated 為 true 時才顯示。 |
建立一個 Widget 範本 |
| 開啟應用程式頁面或網站,不使用提供者回呼 | 使用 Action.OpenUrl。 當小工具的使用者上下文未經驗證時,這個功能仍然可用。 | 建立一個 Widget 範本 |
| 讓使用者自行設定小工具 | 實作 IWidgetProvider2,設定資訊清單的 IsCustomizable 屬性,並提供自訂酬載。 | 實作小工具自訂功能 |
| 根據大小、主題、設定、標頭、網頁支援或認證調整內容 | 在 Adaptive Card 範本中使用 Windows $host 屬性,並在套件清單中宣告所有支援的大小。 |
Windows 小工具主機屬性 |
| 顯示載入中或未登入時的內容 | 傳送刻意指定的遞補範本和資料。 當內容尚未個人化或可採取動作時,設定 IsPlaceholderContent。 | Widget 提供者 |
| 新增儀表板資訊流,取代單一小工具 | 實作摘要提供者。 資料饋送供應商是獨立整合,僅在歐洲經濟區(EEA)內提供。 | 儀表板與訂閱供應商 |
| 請 GitHub Copilot 建立並驗證一個小組件 | 使用可重用的提示,該提示會選擇支援的路徑,並需要對套件、資訊清單、建置及 Widgets Board 進行驗證。 | 使用 GitHub Copilot 建立 Windows 小組件 |
Dashboards
Feed 提供者會註冊以儀表板形式出現在 Widgets Board 中的內容 Feed。 摘要提供者是與小工具提供者分開的整合;在小工具中顯示 HTML 並不會註冊為儀表板摘要。
Important
摘要提供者僅對歐洲經濟區(EEA)用戶開放。 關於可用性與實作需求,請參見 儀表板與饋源提供者。
本節內容
| 主題 | 說明 |
|---|---|
| 資訊供應商 | 了解如何將應用程式的內容訂閱直接顯示在 Windows 小工具看板上。 |
| Widget 提供者 | 學習如何實作一個 widget 提供者,負責提供您 widget 的內容、版面和互動元素。 |
| 網頁小工具提供者 | 在小工具中顯示 HTML,並處理服務提供者與網頁內容之間的資源請求與訊息。 |
| 調適型卡片 編輯器 | 請一步步使用 調適型卡片 Designer 建立小工具範本。 |
| 使用 GitHub Copilot 建立 Windows Widget | 使用可重複使用的提示來產生、打包並驗證現有存放庫中的元件。 |