C# Windows Phone App 開發,全域的Style與區域的Style。

一般我們在開發Windows Phone的時候,會使用Blend來修改控制項的樣式,但是有些樣式只能在一個頁面中使用,其他頁面是沒有辦法套用這個樣式的,我們可以將樣式換到不同的地方讓整個專案都可以使用這個Style的樣式。

一般我們在開發Windows Phone的時候,會使用Blend來修改控制項的樣式,但是有些樣式只能在一個頁面中使用,其他頁面是沒有辦法套用這個樣式的,我們可以將樣式換到不同的地方讓整個專案都可以使用這個Style的樣式。

 

首先來簡單說明一下如何修改控制項的Style ,以Button為例

開啟Windows Phone 專案後,在Xaml檔中放置一個Button

image

 

接著在"方案總管"中,將你的Xaml按下右鍵,以Blend開啟

image

 

 

 

接著會再Blend中開啟,畫面如下。

image

 

在右下角的地方可以看到你的Xaml的樹狀架構圖,在Button上按下右鍵,編輯樣式→創建新的

小弟使用的是英文版,中文版的客觀們就自己對應一下囉

image

 

接著會出現詢問的視窗,問你這個樣式要讓整個專案使用還是單純這個頁面中使用

這邊我們先選擇,只能在本頁面中使用了

 

image

 

接著可以開始編輯按鈕的樣式了!

image

編輯後按下Ctrl+S 來儲存

 

回到Visual Studio 後,會先詢問你檔案已經在外部修改了,是否要重新載入

image

 

按下Yes to All後會發現Xaml程式碼已經幫你打好了,

image

 

Button的程式碼 :

   1:   <Button Content="QQ" Template="{StaticResource ButtonControlTemplate1}"/>

而最上面的樣式標籤開頭是

   1:  <ControlTemplate x:Key="ButtonControlTemplate1" TargetType="Button">

這樣就可以將Button的樣式設定成我們剛剛所編輯過的樣式了。

如此一來在這個頁面中就可以使用ButtonControlTemplate1的樣式了,

但是若我們新增一個Xaml文件,將按鈕的程式碼複製過去,卻不能使用,

無法解析ButtonControlTemplate1樣式

image

 

這是因為我們剛剛新增樣式的時候,只選擇了"這份文件"可以使用,也就是只限定有樣式程式碼的那一頁可以用,

我們可以搬移ButtonControlTemplate1的樣式到App.xaml中,讓它變成全域的Style。

image

 

貼到App.xaml的Application.Resources標籤底下

image

 

如此一來就變成全域的Style了!

這樣子專案底下的所有文件都可以使用這個Style樣式囉!

若要改回原本的頁面樣式,只要把Style剪下,放回到原本Xaml頁面中

的<phone:PhoneApplicationPage.Resources>標籤底下就可以了。

 

 

References : SUKI悟出來的

 

文章中的敘述如有觀念不正確錯誤的部分,歡迎告知指正 謝謝
轉載請註明出處,並且附上本篇文章網址 !  感謝。

SUKI

HOLIESTAR