共用方式為


x:Class 指示詞

設定 XAML 標記編譯,以聯結標記與程式代碼後置之間的部分類別。 程序代碼部分類別是在 Common Language Specification (CLS) 語言的個別程式碼檔案中定義,而標記部分類別通常是在 XAML 編譯期間由程式代碼產生所建立。

XAML 屬性使用方式

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

XAML 值

價值 描述
namespace 自選。 指定CLR命名空間,其中包含 classname所識別的部分類別。 如果指定了 namespace,點會分隔 namespaceclassname。 請參閱。
classname 必填。 指定部分類別的 CLR 名稱,以連接已載入的 XAML 和該 XAML 的程式代碼後置。

依賴

x:Class 只能在 XAML 生產環境的根元素上指定。 x:Class 在 XAML 生產環境中具有父代的任何物件上都無效。 如需詳細資訊,請參閱 [MS-XAML] 第 6.3.1.6 節

言論

namespace 值可能包含其他點,以將相關的命名空間組織成名稱階層,這是 .NET 程序設計中的常見技術。 只有 x:Class 值字串中的最後一個點會解譯為分隔 namespaceclassname. 做為 x:Class 的類別不能是巢狀類別。 不允許巢狀類別,因為如果允許巢狀類別,則判斷 x:Class 字串點的意義模棱兩可。

在使用 x:Class的現有程序設計模型中,x:Class 是選擇性的,因為它完全有效,讓沒有程序代碼後置的 XAML 頁面。 不過,該功能會與使用 XAML 之架構實作的建置動作互動。 x:Class 功能也會受到應用程式模型和對應建置動作中 XAML 指定內容之各種分類的角色所影響。 如果您的 XAML 宣告事件處理屬性值或具現化定義類別位於程式代碼後置類別的自定義元素,您必須將 x:Class 指示詞參考 (或 x:Subclass) 提供給程式代碼後置的適當類別。

x:Class 指示詞的值必須是字串,指定類別的完整名稱,但沒有任何元件資訊(相當於 Type.FullName)。 對於簡單的應用程式,如果程式代碼後置也是以該方式結構化的,您可以省略 CLR 命名空間資訊(程式代碼定義從類別層級開始)。

頁面或應用程式定義的程式代碼後置檔案必須包含在產生已編譯應用程式且牽涉到標記編譯之專案的程式代碼檔案內。 您必須遵循 CLR 類別的名稱規則。 如需詳細資訊,請參閱 Framework Design Guidelines。 根據預設,程式代碼後置類別必須 public;不過,您可以使用 x:ClassModifier 指示詞,在不同的存取層級定義它。

這個 x:Class 屬性的解譯僅適用於 CLR 型 XAML 實作,特別是適用於 .NET XAML 服務。 其他不是以 CLR 為基礎且未使用 .NET XAML 服務的 XAML 實作,可能會使用不同的解析公式來連接 XAML 標記和支援運行時間程式代碼。 如需 x:Class之更多一般解譯的詳細資訊,請參閱 [MS-XAML]

在特定層級的架構中,x:Class 的意義在 .NET XAML 服務中未定義。 這是因為 .NET XAML 服務不會指定連接 XAML 標記和支援程式代碼的程式設計模型。 使用程式設計模型或應用程式模型來定義如何連接 XAML 標記和 CLR 型程式代碼後置的特定架構,可以實作 x:Class 指示詞的其他用法。 每個架構都可以有自己的建置動作,以啟用建置環境中必須包含的某些行為或特定元件。 在架構中,建置動作也會根據用於程式代碼後置的特定CLR語言而有所不同。

WPF 程式設計模型中的 x:Class

在 WPF 應用程式和 WPF 應用程式模型中,x:Class 可以宣告為 XAML 檔案根目錄且正在編譯的任何專案的屬性(其中 XAML 包含在具有 Page 建置動作的 WPF 應用程式專案中),或針對已編譯 WPF 應用程式定義中的 Application 根目錄。 在頁面根目錄或應用程式根目錄以外的專案上,或在未編譯的 WPF XAML 檔案上宣告 x:Class 會導致 .NET Framework 3.0 和 .NET Framework 3.5 WPF XAML 編譯程式下的編譯時期錯誤。 如需 WPF 中 處理之其他層面的相關信息,請參閱 WPF中的 Code-Behind 和 XAML。

適用於 Windows Workflow Foundation 的 x:Class

針對 Windows Workflow Foundation,x:Class 將完全以 XAML 撰寫的自定義活動的類別命名,或為具有程式代碼後置的活動設計工具命名 XAML 頁面的部分類別。

Silverlight 使用量注意事項

Silverlight 的 x:Class 會個別記載。 如需詳細資訊,請參閱 XAML 命名空間 (x:) 語言功能 (Silverlight)

另請參閱