x:Code 內建 XAML 類型
允許在 XAML 生產環境中放置程式代碼。 這類程式代碼可由任何編譯 XAML 的 XAML 處理器實作編譯,或留在 XAML 生產環境中以供稍後使用,例如運行時間的解譯。
XAML 物件專案使用方式
<x:Code>
// code instructions, usually enclosed by CDATA...
</x:Code>
言論
x:Code
XAML 指示詞專案內的程式代碼仍會在一般 XML 命名空間和提供的 XAML 命名空間內解譯。 因此,通常需要將用於 x:Code
的程式代碼括在 CDATA
區段內。
XAML 生產環境的所有可能部署機制都不允許 x:Code
。 在特定架構中,必須編譯程序代碼。 在其他架構中,通常不允許使用 x:Code
。
對於允許受管理 x:Code
內容的架構,用於 x:Code
內容的正確語言編譯程式取決於用來編譯應用程式的包含專案的設定和目標。
WPF 使用方式注意事項
針對 WPF 在 x:Code
內宣告的程式代碼有數個值得注意的限制:
x:Code
指示詞項目必須是 XAML 生產之根元素的直接子專案。x:Class 指示詞 必須在父根元素上提供。
編譯會將放在
x:Code
內的程式代碼視為位於已針對該 XAML 頁面建立的部分類別範圍內。 因此,您定義的所有程式代碼都必須是該部分類別的成員或變數。除了在部分類別內巢狀類別之外,您無法定義其他類別(允許巢狀結構,但並非一般,因為無法在 XAML 中參考巢狀類別)。 除了現有部分類別的命名空間以外的 CLR 命名空間,無法定義或新增至 。
部分類別 CLR 命名空間外部程式代碼實體的參考必須全部完整。 如果要宣告的成員會覆寫部分類別可覆寫的成員,則必須使用語言特定的 override 關鍵詞來指定。 如果在
x:Code
範圍中宣告的成員與從 XAML 建立的部分類別成員發生衝突,以編譯程式回報衝突的方式,則 XAML 檔案無法編譯或載入。
另請參閱
- x:Class 指示詞
- WPF 中的
Code-Behind 和 XAML - XAML 概觀 (WPF .NET)