Share via


x:Class 屬性

更新:2007 年 11 月

設定 XAML 編譯,以在標記和程式碼後置間聯結部分類別。程式碼的部分類別是使用 Common Language Specification (CLS) 語言,定義在另一個程式碼檔案中,而標記的部分類別則是在 XAML 編譯期間以程式碼產生方式建立。

XAML 屬性使用方式

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

XAML 值

namespace

選擇項。所指定的 CLR 命名空間包含以 classname 識別的部分類別。如果已指定 namespace,則為一點 (.)。區隔 namespace 和 classname。

classname

必要項。所指定的部分類別 CLR 名稱會連接載入的 XAML 和該 XAML 的程式碼後置。 

備註

x:Class 可以宣告做為任何項目的屬性 (Attribute),其中該項目為 可延伸標記語言 (XAML) 項目樹狀結構的根項目並正進行編譯 (而可延伸標記語言 (XAML) 包含在具有 Page 建置動作的專案中),或是宣告做為已編譯之應用程式的應用程式定義中的 Application 根項目的屬性。如果在不是頁面根或應用程式根的任何項目上,或是為尚未編譯的可延伸標記語言 (XAML) 檔案宣告 x:Class,就會造成編譯時期錯誤。

用來做為 x:Class 的類別不可以是巢狀類別。

因為 XAML 頁面沒有任何程式碼後置,是完全合法的情況,因此以這個角度而言,x:Class 是選擇性的,但如果頁面宣告事件處理屬性 (Attribute) 值,或是具現化自訂項目,而其中定義的類別位於程式碼後置類別中,則提供適當類別的 x:Class 參考 (或 x:Subclass) 給程式碼後置,最絕對必要的。 

x:Class 屬性的值必須是指定類別完整名稱的字串。對於簡單的應用程式,您可以省略 CLR 命名空間資訊,只要這項資訊也是程式碼後置的結構方式 (定義是從類別層級開始)。頁面或應用程式定義的程式碼後置檔案所在的程式碼檔案,必須包含在產生編譯應用程式的專案的一部分。您必須遵循 CLR 類別的名稱規則,如需詳細資訊,請參閱型別定義 (英文)。根據預設,程式碼後置類別必須是 public,但可以藉由使用 x:ClassModifier 屬性定義成其他存取層級。

請注意,這個 x:Class 屬性值的意義是針對 WPF 的 XAML 實作。WPF 以外的其他 XAML 實作可能不是使用 Managed 程式碼,因而可能會使用不同的類別解析公式。

請參閱

概念

XAML 和自訂類別

程式碼後置和 XAML

參考

x:Subclass 屬性

x:ClassModifier 屬性