MarkupExtension Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje základní třídu pro implementace rozšíření značek XAML, které mohou být podporovány službami .NET XAML a dalšími čtečkami XAML a zapisovači XAML.
public ref class MarkupExtension abstract
public abstract class MarkupExtension
type MarkupExtension = class
Public MustInherit Class MarkupExtension
- Dědičnost
-
MarkupExtension
- Odvozené
Poznámky
Rozšíření značek vracejí volajícím objekty na základě vstupu hodnot atributů řetězce nebo elementů značek v XAML. Rozšíření značek vrací objekty důmyslnějším způsobem, než dokáže samotný převaděč typů. Zapisovač objektů XAML vyvolá převaděč typů, protože typ nebo člen má přidruženou implementaci převaděče typů. Z referenčního rámce CLR to znamená, že typ nebo člen je TypeConverterAttribute přiřazen. Z pohledu systému typů XAML to znamená, že typ XAML nebo člen XAML má hodnotu pro svou TypeConverter
vlastnost. Vyvolání převaděče typů je svázáno s definicí typu nebo vlastnosti a pro tyto případy je vždy vyvoláno zpracováním XAML. Naproti tomu rozšíření značek je více pod kontrolou uživatelského kódu a uživatelem generovaných značek a je možné ho použít vždy, když to scénář aplikace vyžaduje. Lze vyvolat rozšíření značek, které lze použít k nastavení hodnot různých členů typu, pokud je návratový typ rozšíření značek možné přiřadit k dané hodnotě.
Informace o vytvoření vlastního rozšíření značek najdete v tématu ProvideValue. Další informace o rozšířeních značek obecně najdete v tématu Přehled rozšíření značek pro XAML. Pokud vytváříte wpf a používáte nebo vytváříte rozšíření značek pro XAML, další důležité informace najdete v tématu Rozšíření značek a WPF XAML.
Metoda ProvideValue každé implementace rozšíření značek může použít za IServiceProvider běhu, který může poskytnout kontext. To IServiceProvider se pak dotazuje na konkrétní služby, které předávají informace, jako IProvideValueTarget je nebo IXamlTypeResolver. Další informace o kontextech služby pro rozšíření značek najdete v tématu Kontexty služby dostupné pro převaděče typů a rozšíření značek.
Odvozené třídy by měly být přiřazeny s MarkupExtensionReturnTypeAttribute informovat spotřebitele o nejkonvlastnější návratový typ dostupný z implementace rozšíření ProvideValue značek.
Konstruktory
MarkupExtension() |
Inicializuje novou instanci třídy odvozené z MarkupExtension. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ProvideValue(IServiceProvider) |
Při implementaci v odvozené třídě vrátí objekt, který je poskytnut jako hodnota cílové vlastnosti pro toto rozšíření značek. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |