我正在學習WPF,發現它的工作方式是完全不同的。我有以下XAML標記兩個問題:關於WPF的一個基本問題
<Button x:name="test" BackGround="{StaticResource MyColor}" />
1)爲什麼X:叫什麼名字?既然name是一個屬性,那麼爲什麼x應該是它的前綴。 x:name有什麼特別的含義嗎?
2)什麼是StaticResource,StaticResource存儲在哪裏?
請詳細解釋。謝謝。
我正在學習WPF,發現它的工作方式是完全不同的。我有以下XAML標記兩個問題:關於WPF的一個基本問題
<Button x:name="test" BackGround="{StaticResource MyColor}" />
1)爲什麼X:叫什麼名字?既然name是一個屬性,那麼爲什麼x應該是它的前綴。 x:name有什麼特別的含義嗎?
2)什麼是StaticResource,StaticResource存儲在哪裏?
請詳細解釋。謝謝。
x是XML名稱空間的前綴。下面是本作的官方文檔:XAML Namespaces and Namespace Mapping for WPF XAML
如果您想了解更多關於XML命名空間主題(無關XAML):http://wap.w3schools.com/xml/xml_namespaces.asp
靜態資源是一種「標記擴展」,下面是官方文檔再次:StaticResource Markup Extension
關於x:姓名您應該閱讀this thread。
XAML分析器轉換指令:
{StaticResource MyColor}
成C#代碼:
Resource["MyColor"]
靜態資源查找行爲
- 查找過程檢查中所要求的關鍵資源 dicti由 設置屬性定義的元素。
- 查找過程然後向上遍歷邏輯樹,到父元素 元素及其資源字典。 這一直持續到達到根元素 。
- 接下來,檢查應用程序資源。應用程序資源是 資源中的那些資源 字典,由您的WPF 應用程序的 應用程序對象定義。
簡單,如果你在App.xaml中定義的東西,父母或電流控制的資源,你可以使用靜態資源來查找那些拿到鑰匙下的值。