共用方式為


x:Class 屬性

設定 XAML 編譯,以整合標記和程式碼後端之間的部分類別。 程式碼部分類別定義在個別的程式碼檔案中,而標記部分類別是在 XAML 編譯期間由程式碼產生所建立。

XAML 屬性使用方式

<object x:Class="namespace.classname"...>
  ...
</object>

XAML 值

術語 Description
命名空間 選擇性。 指定包含 classname 所識別之部分類別的命名空間。 如果指定 命名空間 ,則會以點 (.) 分隔 命名空間類別名稱。 如果省略 命名空間 ,則假設 classname 沒有命名空間。
類別名稱 必須的。 指定連接載入 XAML 和該 XAML 後置程式碼的局部類別名稱。

備註

x:Class 可以宣告為任何元素的屬性,這些元素是 XAML 檔案/物件樹的根,並由建置動作編譯,或是已編譯應用程式的應用程式定義中的 Application 根。 在根節點以外的任何元素上宣告 x:Class ,以及在任何情況下,針對未使用 Page 建置動作編譯的 XAML 檔案,都會導致編譯時間錯誤。

用作 x:Class 的類別不能是巢狀類別。

x:Class 屬性的值必須是字串,指定類別的完整名稱。 您可以省略命名空間資訊,只要這是程式碼後置的結構方式 (您的類別定義從類別層級開始)。 頁面或應用程式定義的程式碼後置檔案必須位於專案中包含的程式碼檔案內。 程式碼後置類別必須是公用的。 程式碼後置類別必須是部分的。

CLR 語言規則

雖然程式碼後置檔案可以是 C++ 檔案,但某些慣例仍會遵循 CLR 語言形式,因此 XAML 語法沒有差異。 特別是,任何 x:Class 值的命名空間和類別名稱元件之間的分隔符號一律是點 (“.”),即使與 XAML 相關聯的 C++ 程式碼檔案中命名空間和類別名稱之間的分隔符號是 “::”。 如果您在 C++ 中宣告巢狀命名空間,則當您指定 x:Class 值的命名空間部分時,連續巢狀命名空間字串之間的分隔符號也應該是 “.” 而不是 “::”。