2014-02-25 26 views
0

我正在查看Windows應用商店應用程序示例,並試圖瞭解有些事情是如何工作的。本地App.xaml

我在App.xaml中

<local:Apoel x:Key="apoel"/> 

這個代碼,並在我的MainPage.xaml.cs中

Apoel apoellin= (Apoel)App.Current.Resources["apoel"]; 

我嘗試各地的網絡搜索這行代碼,但我不知道是什麼條款來使用,以得到這是如何工作的完美解釋。

這兩行代碼在做什麼?

如果Class Apoel的構造函數需要參數,它會如何工作?

什麼時候對象實例化?

回答

1

這只是一個任務。在您的XAML命名apoelApoel對象被定義

Apoel apoellin= (Apoel)App.Current.Resources["apoel"]; 

只是一個參考分配。沒有新的對象正在創建。

關於參數化的構造函數檢查正在創建並作爲「全球性」的資源用於其他頁面中使用的代碼的其他線路使用製造的物體這裏的答案在我的App.xaml代碼 Calling a parameterized constructor from XAML

+0

這樣嗎? –

+0

基本上是的。 'App.Xaml'是你的應用程序的定義。它應該包含一個''部分,它是全局可訪問的對象的字典。它有點類似於使用'resx'文件。 – Tarec

+0

我不知道resx文件:D但讓我告訴你我的理解。這就像創建一個全局變量,它可以從我的代碼的每個可能的位置使用Apoel apoellin =(Apoel)App.Current.Resources [「apoel」];它只是告訴我的代碼從全局「池」中獲取該變量並將其轉換爲類型Apoel。爲什麼需要鑄件? –