語言

XamlSchemaContext 類別

定義

定義一個可重複使用的上下文,用於解讀或映射 XAML 類型及其底層組件中的型態。

public ref class XamlSchemaContext
public class XamlSchemaContext
type XamlSchemaContext = class
Public Class XamlSchemaContext
繼承
XamlSchemaContext

備註

XAML 架構上下文提供一層抽象,連接 XAML 的結構或詞彙,與特定的解析器實作。 透過插入結構上下文的概念,該結構可以與不同的 XAML 解析器一起使用,而結構上下文則填補與特定 XAML 解析器互動所需的細節。 例如,XAML 架構上下文提供與 XAML 概念或 CLR 綁定至 XAML 型別系統相關的查詢 API。 XAML 架構上下文也負責維護已載入的組裝檔清單,定義 XAML 解析器尋找後台型別的位置。

給繼承者的注意事項

在 AppDomain中,a XamlSchemaContext 可以被多個呼叫者共享,包括完全與部分信任呼叫者。 這種情況存在於像 WPF 這樣的框架中,這些框架為 WPF 應用模型的部分 XAML 載入提供部分信任存取。 預設 XamlSchemaContext 實作在此情境下提供保障,保持所有屬性與設定不變。 衍生實作也應考慮遵循此不變性模型,以設定 XAML 架構上下文的屬性與設定。

XamlSchemaContext基底類別的設計是讓查詢不會有外部可觀察的副作用。 API 在基類中所參考 XamlSchemaContext 的類型,例如 XamlType 或 XamlMember,也不會產生查詢的副作用。 所有用於結構判定所需的資料都應來自 的建構與設定 AppDomain。 請注意,查詢 API 並不依賴明確傳入的服務;他們的輸入僅依賴字串輸入。

XamlSchemaContext基底類別 和 XamlType 和 XamlMember 在其基礎實作中都是執行緒安全的。 如果你衍生自 XamlSchemaContext 或衍生出像 和 這樣的 XAML 類型系統類別 XamlTypeXamlMember ,你可以選擇類別是否執行緒安全。

建構函式

名稱 Description
XamlSchemaContext()

初始化 XamlSchemaContext 類別的新執行個體。

XamlSchemaContext(IEnumerable<Assembly>, XamlSchemaContextSettings)

根據一組參考組件和一個設定物件初始化該 XamlSchemaContext 類別的新實例。

XamlSchemaContext(IEnumerable<Assembly>)

根據一組參考組件初始化該 XamlSchemaContext 類別的新實例。

XamlSchemaContext(XamlSchemaContextSettings)

根據 settings 物件初始化該 XamlSchemaContext 類別的新實例。

屬性

名稱 Description
FullyQualifyAssemblyNamesInClrNamespaces

會取得一個值,指定 XAML 結構及其上下文是否在查詢 API 回傳的值中使用完全限定的組合名稱。

ReferenceAssemblies

取得一組可枚舉的 XAML 架構上下文參考組件。

SupportMarkupExtensionsWithDuplicateArity

會得到一個值,指定 XAML 架構及其上下文是否支援具有兩個構造子且參數數相同的標記擴充。

方法

名稱 Description
Equals(Object)

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

(繼承來源 Object)
Finalize()

提供一種非標準 Finalize 實作,不會呼叫 Dispose。

GetAllXamlNamespaces()

搜尋由此 XamlSchemaContext 方法所持有的組裝,並回傳一組命名空間。

GetAllXamlTypes(String)

搜尋此 XamlSchemaContext 系統所持有的組件,並從指定的 XAML 命名空間回傳一組型別。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetPreferredPrefix(String)

取得一個字串,作為使用者在映射指定 XAML 命名空間時使用的首選前綴。

GetType()

取得目前實例的 Type。

(繼承來源 Object)
GetValueConverter<TConverterBase>(Type, XamlType)

回傳一個可轉換為所需 targetType的值轉換器。

GetXamlDirective(String, String)

回傳 XamlDirective 一個代表指令的值,無論是針對 XAML 語言還是特定實作。

GetXamlType(String, String, XamlType[])

回傳基於 XAML 命名空間及型別名稱字串的 a XamlType 。 此簽名可指定類型參數,適用於期望類型為通用型態的情況。

GetXamlType(Type)

回傳基於 CLR 類型識別碼的 a XamlType 。

GetXamlType(XamlTypeName)

回傳基於 XAML 系統類型名稱的 a XamlType 。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnAssemblyResolve(String)

當操作使用此結構上下文來解析一個為解析其所包含的 XAML 命名空間所需的組件時,會呼叫此系統。

ToString()

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

(繼承來源 Object)
TryGetCompatibleXamlNamespace(String, String)

回傳相容 XAML 命名空間請求的成功或失敗。 成功請求會將該 XAML 命名空間作為 out 參數回報。

適用於