2014-02-17 26 views
0

對於學校的分配,我正在做一些關於Windows 8商店應用程序開發如何工作的基礎研究。我跟着the Hello World tutorial provided by Microsoft。您可以用於應用程序的主要主題是Light and Dark(如果我是正確的,還有第三個高對比度或什麼?),這些都是由MS定義的。如何定義自己的Windows 8應用主題?

我的問題是,我該如何創建自己的主題?我想要有一個基本的應用程序主題與我定義的兩個主要顏色。我認爲這是可能的,但我還沒有找到任何方法。在這裏看到的是stackoverflow,但沒有找到任何有用的東西(大多數提到的文件和這種在簡單的Hello World應用程序中不存在)。

簡而言之:是否可以爲您創建一個主題Windows 8應用程序(主要選擇前景色和背景色),與標準提供的Dark和Light主題相媲美?

回答

2

您最好使用資源字典來保存自定義樣式的信息。 (這是一個WPF示例,我假設它對於應用程序是一樣的,如果不是,請告訴我)。

在你App.xaml,加上合併字典,所以你可以App.xaml中看起來是這樣的:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Style/CoreStyle.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

然後,您將需要創建一個資源字典(在我的例子,我把它放在風格/ CoreStyle.xaml)

然後,您可以在您的項目風格個別元素,例如,按鈕上設置minwidth看起來像:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Style TargetType="{x:Type Button}"> 
     <Setter Property="MinWidth" Value="75" /> 
    </Style> 
</ResourceDictionary> 

關於MSDN Styling and Templating Guide的更多信息,我建議閱讀。

+0

好,外觀好看,我我會嘗試一下。謝謝!啞巴問題:我如何在這樣的.xaml文件中創建資源字典?就在標籤之間?編輯:找到它,這是一個模板添加一個新的項目! –

+1

如果你使用VS,你可以添加一個新的類型資源字典文件。我會用完整的文件模板更新我的答案,儘管 – Joe

+0

謝謝!我現在已經定義了ResourceDictionary,但是如何告訴元素必須從此ResourceDictionary獲取它的樣式?在RD中,我有一個簡單的風格,只有Grid的背景顏色。我如何告訴我的佈局xaml中的網格它必須使用該樣式? –

0

WP8默認只給你2個主題黑暗與光明,所以如果你需要創建一個主題以外的,我認爲這是不可能的。

但是,如果您需要爲應用程序應用主題有可能,但您必須爲主題編寫所有樣式。

+0

是的,我實際上只是想應用其他顏色。它可以是默認的主題,只有不同的顏色,但我不知道如何做到這一點。 (我知道XAML是如何工作的,我只是不能在那裏改變它。)在我的公共文件夾中沒有StandardStyles.xaml,因爲我使用的是VS 2013,而且我讀它不再存在。我可以改變現有的風格嗎?如果是這樣:怎麼樣? –

+0

您有很多選項可以在您的應用程序中創建一些樣式。 1)。您可以使用控件屬性將顏色和其他設置添加到控件中。 2)。應用資源 3)。頁資源 這裏一個實施例一個頁面資源 <的SolidColorBrush X:鍵= 「MyBrush」 顏色= 「金」/> <形式的TargetType = 「邊界」 ×:密鑰= 「PageBackground」> <邊框樣式= 「{StaticResource的PageBackground}」>