MarkupExtension 類別

定義

為 .NET XAML 服務及其他 XAML 讀取器和 XAML 寫入器可支援的 XAML 標記延伸實作,提供基底類別。

public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
繼承
MarkupExtension
衍生

備註

標記延伸會根據 XAML 中字串屬性值或標記專案的輸入,將物件傳回給呼叫端。 標記延伸會以比類型轉換子更複雜的方式來傳回物件。 XAML 物件寫入器會叫用類型轉換器,因為類型或成員有與其相關聯的類型轉換器實作。 從參考的 CLR 框架中,這表示類型或成員是 TypeConverterAttribute 屬性化。 從 XAML 類型系統的觀點來看,這表示 XAML 類型或 XAML 成員具有其 TypeConverter 屬性的值。 類型轉換子的調用會系結至類型或屬性定義,而且一律由 XAML 處理在這些情況下叫用。 相反地,標記延伸在使用者程式碼和使用者產生的標記的控制之下,而且可以在應用程式案例要求時套用。 您可以叫用標記延伸,並可用來設定不同的類型成員值,只要標記延伸的傳回型別可指派給該值即可。

如需建立自訂標記延伸的詳細資訊,請參閱 ProvideValue 。 如需標記延伸的詳細資訊,請參閱 XAML 的標記延伸概觀。 如果您要在 WPF 上建置並使用或建立 XAML 的標記延伸,您可以在 標記延伸和 WPF XAML主題中找到其他相關資訊。

ProvideValue每個標記延伸實作的 方法都可以在執行時間使用 IServiceProvider ,以提供內容。 IServiceProvider接著會查詢傳遞資訊的特定服務,例如 IProvideValueTargetIXamlTypeResolver 。 如需標記延伸之服務內容的詳細資訊,請參閱 類型轉換程式和標記延伸的服務內容

衍生類別應該使用 MarkupExtensionReturnTypeAttribute 來通知取用者從標記延伸實作 ProvideValue 取得的最特定傳回型別。

建構函式

MarkupExtension()

初始化衍生自 MarkupExtension 之類別的新執行個體。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ProvideValue(IServiceProvider)

在衍生類別中實作時,傳回物件,這個物件提供為這個標記延伸的目標屬性值。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱