Application.LoadComponent 方法

定義

多載

LoadComponent(Object, Uri)

載入位於指定相對位置的 XAML 檔案,並將它轉換成 XAML 檔案根項目所指定的 物件實例。

LoadComponent(Object, Uri, ComponentResourceLocation)

載入位於指定相對位置的 XAML 檔案,並將它轉換成 XAML 檔案根項目所指定的 物件實例。

LoadComponent(Object, Uri)

載入位於指定相對位置的 XAML 檔案,並將它轉換成 XAML 檔案根項目所指定的 物件實例。

public:
 static void LoadComponent(Platform::Object ^ component, Uri ^ resourceLocator);
/// [Windows.Foundation.Metadata.Overload("LoadComponent")]
 static void LoadComponent(IInspectable const& component, Uri const& resourceLocator);
[Windows.Foundation.Metadata.Overload("LoadComponent")]
public static void LoadComponent(object component, System.Uri resourceLocator);
function loadComponent(component, resourceLocator)
Public Shared Sub LoadComponent (component As Object, resourceLocator As Uri)

參數

component
Object

Platform::Object

IInspectable

物件,其類型與要載入之 XAML 內容的根項目相同。

resourceLocator
Uri Uri

物件,描述要載入之資源的統一資源識別項 (URI) 路徑。

屬性

備註

LoadComponent 主要適用于基礎結構。 您可以在產生的 InitializeComponent 邏輯中看到 LoadComponent ,以整合 XAML 頁面的部分類別及其程式碼後置。

LoadComponent 有時會在呼叫堆疊中提及例外狀況,因為您的應用程式嘗試剖析不正確的 XAML。 在此情況下,應用程式程式碼無法執行任何動作來變更 LoadComponent 的使用方式,而修正問題的方式就是檢查 XML 編輯器中的 XAML 來源並加以修正。 堆疊追蹤訊息可能有説明的內容是確認哪些 XAML 檔案未載入。 在合併資源或其他多個 XAML 來源合併的情況下,它不一定是無法剖析的明顯頁面層級 XAML。

大部分涉及載入 XAML 內容和產生物件樹狀結構的應用程式案例都應該改用 XamlReader.Load

Windows 8.1中的資源載入優化

從Windows 8.1開始,應用程式模型和Windows 執行階段 XAML 剖析器會啟用資源載入優化。 LoadComponent 涉及此案例,因為它會在內部叫用,以實際載入來自 XAML 檔案的任何資源字典,包括 MergedDictionaries 的資源字典。 針對 Windows 8,XAML 剖析器會從 app.xaml 載入資源,並在啟動時建立每個資源做為物件。 如果在那裡有大型字典,這並不非常有效率。 此外,這些資源包含所有三個主題所需的專案,而三個主題中的兩個甚至不會作用中。 從 Windows 8.1 開始,XAML 剖析器只會在特別要求資源時建立資源。 當載入每個資源時,要求可能來自其他資源或應用程式或頁面 XAML。 此剖析器行為可將在啟動時讀取應用層級字典所需的時間降到最低,並讓第一個應用程式頁面在大部分情況下載入速度較快。 只有在使用者選擇該主題成為使用中主題時,才會載入其他目前非作用中主題所需的資源。 屆時,針對要求使用 {ThemeResource} 標記延伸 的任何資源,會根據新使用中的主題來重新計算。

Windows 8 行為

Windows 8 沒有上述優化。 的 ResourceDictionaryApplication.Resources 必須在啟動顯示畫面以外的任何頁面載入應用程式 視窗之前完成剖析。 因此,您可能會在將應用程式重定為Windows 8.1目標時,看到一些時間差異。 應用程式應該更快載入,但可能無法隔離這項改進,與您在重定目標時對應用程式程式碼所做的其他變更。 您可能會因為優化資源載入而看到計時變更的一些位置,包括剖析器呼叫建構函式時, 例如 Application 物件、轉換器或其他自訂類別的物件。 針對 Windows 8 編譯但在 Windows 8.1 上執行的應用程式會繼續使用 Windows 8 的行為。

如需效能和 XAML 資源要素的詳細資訊,請參閱 優化您的 XAML 標記

另請參閱

適用於

LoadComponent(Object, Uri, ComponentResourceLocation)

載入位於指定相對位置的 XAML 檔案,並將它轉換成 XAML 檔案根項目所指定的 物件實例。

public:
 static void LoadComponent(Platform::Object ^ component, Uri ^ resourceLocator, ComponentResourceLocation componentResourceLocation);
/// [Windows.Foundation.Metadata.Overload("LoadComponentWithResourceLocation")]
 static void LoadComponent(IInspectable const& component, Uri const& resourceLocator, ComponentResourceLocation const& componentResourceLocation);
[Windows.Foundation.Metadata.Overload("LoadComponentWithResourceLocation")]
public static void LoadComponent(object component, System.Uri resourceLocator, ComponentResourceLocation componentResourceLocation);
function loadComponent(component, resourceLocator, componentResourceLocation)
Public Shared Sub LoadComponent (component As Object, resourceLocator As Uri, componentResourceLocation As ComponentResourceLocation)

參數

component
Object

Platform::Object

IInspectable

物件,其類型與要載入之 XAML 內容的根項目相同。

resourceLocator
Uri Uri

物件,描述要載入之資源的統一資源識別項 (URI) 路徑。

componentResourceLocation
ComponentResourceLocation

列舉值。

屬性

另請參閱

適用於