x:Class 指示詞
設定 XAML 標記編譯,以聯結標記與程式碼後置之間的部分類別。 程式碼部分類別是在 Common Language Specification (CLS) 語言的個別程式碼檔案中定義,而標記部分類別通常是在 XAML 編譯期間由程式碼產生所建立。
XAML Attribute Usage
<object x:Class="namespace.classname"...>
...
</object>
XAML 值
值 | Description |
---|---|
namespace |
選擇性。 指定 CLR 命名空間,其中包含 所 classname 識別的部分類別。 如果 namespace 指定了 ,則點 (.) 會 namespace 分隔 和 classname 。 請參閱<備註>。 |
classname |
必要。 指定部分類別的 CLR 名稱,以連接已載入的 XAML 和該 XAML 的程式碼後置。 |
相依性
x:Class
只能在 XAML 生產環境的根項目上指定。 x:Class
在 XAML 生產環境中具有父代的任何物件上都無效。 如需詳細資訊,請參閱
備註
此值 namespace
可能包含其他點,以將相關命名空間組織成名稱階層,這是 .NET 程式設計中的常見技術。 只有值字串 x:Class
中的最後一個點會解譯為分隔 namespace
,而 classname.
用作 x:Class
的類別不能是巢狀類別。 不允許巢狀類別,因為如果允許巢狀類別,則判斷字串的點 x:Class
意義模棱兩可。
在使用 的現有程式設計模型中 x:Class
x:Class
,是選擇性的,因為它完全有效,讓沒有程式碼後置的 XAML 頁面。 不過,該功能會與使用 XAML 之架構實作的建置動作互動。 x:Class
功能也會受到應用程式模型和對應建置動作中 XAML 指定內容之各種分類的角色影響。 如果您的 XAML 宣告事件處理屬性值,或具現化定義類別位於程式碼後置類別中的自訂元素,您必須將指示詞參考 (或 x:Subclass ) 提供給 x:Class
程式碼後置的適當類別。
指示詞的值 x:Class
必須是字串,指定類別的完整名稱,但沒有任何元件資訊(相當於 Type.FullName )。 對於簡單的應用程式,如果程式碼後置也是以該方式結構化的,您可以省略 CLR 命名空間資訊(程式碼定義從類別層級開始)。
頁面或應用程式定義的程式碼後置檔案必須包含在產生已編譯應用程式且牽涉到標記編譯之專案的程式碼檔案內。 您必須遵循 CLR 類別的名稱規則。 如需詳細資訊,請參閱 架構設計指導方針 。 根據預設,程式碼後置類別必須是 public
;不過,您可以使用 x:ClassModifier 指示詞 在不同的存取層級 定義它。
屬性的 x:Class
這個解譯僅適用于 CLR 型 XAML 實作,特別是 .NET XAML 服務。 其他不是以 CLR 為基礎且未使用 .NET XAML 服務的 XAML 實作,可能會使用不同的解析公式來連接 XAML 標記和支援執行時間程式碼。 如需 更多一 x:Class
般解譯的詳細資訊,請參閱 [MS-XAML] 。
在特定層級的架構中,在 .NET XAML 服務中未定義 的意義 x:Class
。 這是因為 .NET XAML 服務不會指定連接 XAML 標記和支援程式碼的程式設計模型。 使用程式設計模型或應用程式模型定義如何連接 XAML 標記和 CLR 型程式碼後置的特定架構,可能會實作 指示詞的其他用法 x:Class
。 每個架構都可以有自己的建置動作,以啟用建置環境中必須包含的某些行為或特定元件。 在架構中,建置動作也會根據用於程式碼後置的特定 CLR 語言而有所不同。
WPF 程式設計模型中的 x:Class
在 WPF 應用程式和 WPF 應用程式模型中, x:Class
可以宣告為 XAML 檔案根目錄且正在編譯之任何元素的屬性(其中 XAML 包含在具有 Page
建置動作的 WPF 應用程式專案中),或針對 Application 已編譯 WPF 應用程式之應用程式定義中的根目錄。 在 x:Class
頁面根目錄或應用程式根目錄以外的專案上,或在未編譯的 WPF XAML 檔案上宣告,會導致 .NET Framework 3.0 和 .NET Framework 3.5 WPF XAML 編譯器下的編譯時間錯誤。 如需 WPF 中處理其他層面 x:Class
的相關資訊,請參閱 WPF 中的程式碼後置和 XAML。
適用于 Windows Workflow Foundation 的 x:Class
針對 Windows Workflow Foundation, x:Class
將自訂活動的類別命名為完全以 XAML 撰寫,或為具有程式碼後置的活動設計工具命名 XAML 頁面的部分類別。
Silverlight 使用量注意事項
x:Class
針對 Silverlight 會個別記載。 如需詳細資訊,請參閱 XAML 命名空間 (x:) 語言功能 (Silverlight) 。