12

在Windows 8消費者預覽中,您可以個性化您的體驗,包括設置「背景顏色」,然後將其用作所選瓷磚,應用欄等的背景。橙色重音在Windows 8 Metro用戶界面中可見。Windows 8主題顏色 - 以編程方式訪問

我目前正在創作一些自定義的控制,我想有機會獲得這種顏色在我的風格,所以在用戶改變顏色,所以我的應用程序口音重新着色相應。

我找不到在我的XAML中獲取此顏色的方法。預計您可以參考的系統級動態畫筆或顏色資源似乎是合理的。

有沒有人有任何想法?

回答

7

基於MSDN上的this thread (Start Screen background as my metro apps background) - 這不可用。

萬一MSDN線程消失,該網站暫時無法訪問,或Microsoft四處移動的目錄結構和葉孤兒所有的地方鏈接:相關的答案,從微軟員工Rob Kaplan,說:

Metro風格應用程序無法查詢開始屏幕背景顏色。

所以它可以被解釋爲官方迴應,該功能是不可用的。

+1

+1。不幸的是,鑑於WP7可以讓你獲得用戶口音的顏色。 – Alan 2012-04-10 23:13:09

+1

我認爲對於大多數應用程序來說,最好定義獨立於操作系統的主題。一次更簡單 - 你不必擔心你的應用設計支持多個主題,包括檢查主題是什麼,並提供符合每個主題的資產。想象一下,您需要提供圖標或背景,以便與所有可能的主題以及未來可能尚未用於測試的主題配合良好。另外 - 這可能是更好的品牌應用程序。然後,也許微軟不希望人們認爲你的應用程序是操作系統的一部分... – 2012-04-11 15:25:48

+0

但仍然沒有[在Windows 8.1中提供]「對不起,這不是UI框架中可以訪問的顏色。」,每個程序經理Tim Heuer ,UI平臺](http://social.msdn.microsoft.com/Forums/en-US/9a200123-45cd-4f14-8ab7-f997e0534495/using-windows-accent-color?forum=w81prevwCsharp) – 2014-06-13 08:38:19

5

艾倫,

雖然我同意你的觀點是,「品牌」概念使得如果你正計劃在複雜的圖形疊加,得到了基本主題顏色可以使用一個靜態主題的Windows Phone感好由操作系統提供的刷子是您的應用中基本顏色主題的更好選擇。用戶選擇了這種顏色是因爲他們覺得它很悅目。更重要的是,某些用戶可能會對一種或多種顏色進行色盲,並已選擇最佳選項來提高可讀性和可訪問性。

有準入標準配色方案可以讓你留在亮/暗主題範圍內,並符合對於那些有視覺障礙的所有程序,許多公司所需的無障礙標準。

SDK處於起步階段,有可能這個重要特性已經被排除在當前實現之外,因爲它尚未準備好發佈SDK(顏色可能尚未完成或主題的兼容性某些設備仍在開發中)。

從現有的主題畫筆中派生出主題顏色並不難,例如ProgressBarForegroundThemeBrush通過添加/減去值來獲取當前主題顏色。

我的建議是儘可能地堅持主題樣式,以確保您的應用程序保持最新狀態,而不管操作系統發生什麼變化。

自2010年5月

2

有在了UxTheme.dll一些無證的API,檢索主題顏色我一直是Windows Phone的程序員。如果您使用這些函數並將您的應用程序提交到Windows應用商店,它將會失敗認證,並且通常依賴無證函數依然是一個壞主意。不過,對於那些有興趣獲得這些值的人,I wrote about the process

+0

此外,我做了一個[參考表](http://www.quppa.net/win8col/)在Windows 8中找到的主題顏色。 – Quppa 2013-01-01 17:10:02