偵測是否為瀏覽器裝載範例
更新:2007 年 11 月
本範例示範如何偵測某段程式碼是從 XAML 瀏覽器應用程式 (XBAP) 或獨立應用程式執行。
這個範例示範 Windows Presentation Foundation 的特定功能,因此並未遵循應用程式開發的最佳作法。如需 Windows Presentation Foundation (WPF) 和 Microsoft .NET Framework 應用程式開發最佳做法的完整內容,請依適當情況參閱下列內容:
協助工具 - 協助工具最佳作法
當地語系化 - WPF 全球化和當地語系化概觀
效能 - 最佳化 WPF 應用程式效能
安全性 - Windows Presentation Foundation 安全性
建置範例
安裝 Windows Software Development Kit (SDK),然後開啟 [建置環境命令] 視窗。在 [開始] 功能表中,指向 [所有程式]、[Microsoft Windows SDK],然後按一下 CMD 殼層。
接著,在軟體開發套件 (SDK) 文件處下載軟體,並存至您的硬碟上。
若要組建建置環境命令視窗的範例,您必須先移至範例的來源目錄在命令提示字元中,輸入 MSBUILD。
若要在 Microsoft Visual Studio 中建置範例,請載入範例方案或專案檔,然後按下 CTRL+SHIFT+B。
執行範例
若要在 [建置環境命令視窗] 中執行編譯後的範例,請執行位在包含範例原始程式碼的檔案夾 (Bin\Debug 或 Bin\Release 檔案夾) 下的 .exe 檔案。
若要在 Visual Studio 中執行編譯後的範例並進行偵錯,請按 F5。
備註
這個範例包含 XAML 瀏覽器應用程式 (XBAP) 應用程式 (XBAPClient) 和獨立 Windows 應用程式 (WinAppClient) 共用的程式庫 (SharedLibary)。SharedLibrary 封裝執行這兩個用戶端應用程式通用工作所需的功能。其中一項功能就是根據裝載的用戶端類型顯示使用者介面 (UI),例如,如果是瀏覽器裝載,就顯示 Page,或如果由獨立應用程式裝載,則顯示 Window。
共用的程式庫會使用 IsBrowserHosted 偵測是在瀏覽器裝載應用程式或獨立應用程式中執行。
注意事項: |
---|
執行個體化 Window 的程式碼不能與檢查 IsBrowserHosted 的程式碼位於相同的成員中;Window 有繼承要求,需要執行個體化所在的成員具有 UIPermission。為解決此問題,您可以重構程式碼,將 Window 執行個體化程式碼移至您從檢查 IsBrowserHosted 的相同成員呼叫的另一個方法,如這個範例所示。 |