2016-11-15 143 views
0

我正在嘗試主題我的WPF應用程序看起來像一個正常的桌面應用程序。WPF系統主題顏色

我見過其他問題,基本上回答同樣的問題,但解決方案似乎不適合我。假設我的菜單欄的XAML定義,像這樣:

<DockPanel> 
    <Menu DockPanel.Dock="Top" 
      Background="{DynamicResource {x:Static SystemColors.MenuBarBrushKey}}" /> 
</DockPanel> 

(實際上還含有MenuItem條目等) 在Windows 10上運行它---從默認主題沒有改變---我菜單欄是灰色的#f0f0f0顏色。如果我啓動其他(非城域)應用程序,例如Notepad,Notepad ++,Evernote,Maple,Snipping Tool等,則菜單欄爲白色:#ffffff。

有人能指出我正確使用Windows系統顏色的方向嗎?

+0

你有一個地鐵/ UWP或Win32的應用程序? – Lennart

+0

什麼?標準的WPF應用程序是一個桌面應用程序。爲什麼它看起來不同於默認主題? – Clemens

+0

我正試圖實現默認的主題顏色。每個其他桌面應用程序都有一個白色的菜單欄,但是當我使用此代碼時(並且當我根本不指定「背景」時),我的菜單欄是灰色的。我不想讓菜單欄顯式變白,因爲這不適應用戶主題的變化。 – Zac

回答

-1

您需要一個SystemColors類。這是一個很好的文章:SystemColors Reference。有一個很好的閱讀:)

+0

我的問題明確表明我使用'SystemColors',並強調我沒有獲得與其他桌面應用程序一致的菜單欄顏色。 – Zac

0

WPF是一個非常可定製的用戶界面框架。默認情況下,它並不是真正的「主題」,默認看起來很糟糕(意見),但你可以自由創建任何你想調整應用程序外觀和風格的樣式。

您需要爲您的應用程序自己創建樣式化控件,使用已創建的一些樣式或在UI樣式框架之上構建。

Windows 7 theme for WPF?

含有大量的免費主題的CodePlex: http://wpfthemes.codeplex.com/

或者,你可以建立一個造型/主題化框架的頂部。一個我以前使用過的建議是MahApps Metro - 它是一個工具包,可以用來製作地鐵風格的應用程序,默認樣式看起來非常棒,並且有很多已經改進/定製的controls。您可以輕鬆覆蓋該庫中的樣式以創建自己的外觀。它還使用了兩種基本配色方案,可在整個應用程序中實現非常一致和可定製的感覺。還有其他的框架,但我發現的框架主要是針對'Metro'主題。

Modern UI for WPF

Elysium