Share via


x:Code 內建 XAML 類型

允許在 XAML 生產環境中放置程式碼。 這類程式碼可由任何編譯 XAML 的 XAML 處理器實作編譯,或留在 XAML 生產環境中以供稍後使用,例如執行時間的解譯。

XAML 物件項目用法

<x:Code>
   // code instructions, usually enclosed by CDATA...
</x:Code>

備註

XAML 指示詞專案內的 x:Code 程式碼仍會在一般 XML 命名空間和提供的 XAML 命名空間內解譯。 因此,通常必須括住區段內 CDATA 所使用的 x:Code 程式碼。

x:Code XAML 生產環境的所有可能部署機制都不允許。 在特定架構中,必須編譯器代碼。 在其他架構中, x:Code 使用方式通常不允許。

對於允許 Managed x:Code 內容的架構,正確的語言編譯器會 x:Code 由用來編譯應用程式的包含專案的設定和目標決定。

WPF 使用方式注意事項

針對 WPF 宣告的程式 x:Code 代碼有數個值得注意的限制:

  • 指示 x:Code 詞專案必須是 XAML 生產之根項目的直接子專案。

  • 必須在父根項目上提供 x:Class 指示 詞。

  • 編譯會將置於 內的 x:Code 程式碼視為位於已經針對該 XAML 頁面建立的部分類別範圍內。 因此,您定義的所有程式碼都必須是該部分類別的成員或變數。

  • 除了在部分類別內巢狀類別之外,您無法定義其他類別(允許巢狀結構,但並非一般,因為無法在 XAML 中參考巢狀類別)。 除了用於現有部分類別的命名空間以外的 CLR 命名空間,無法定義或新增至 。

  • 部分類別 CLR 命名空間外部程式碼實體的參考必須全部完整。 如果要宣告的成員會覆寫部分類別可覆寫的成員,則必須使用語言特定的 override 關鍵字來指定。 如果在範圍中 x:Code 宣告的成員與從 XAML 建立的部分類別成員發生衝突,則編譯器會報告衝突,則 XAML 檔案無法編譯或載入。

另請參閱