MarkupExtension Třída

Definice

Poskytuje základní třídu pro implementace rozšíření značek XAML, které mohou být podporovány službami .NET XAML Services 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 vrací volajícím objekty na základě vstupu hodnot atributů řetězce nebo elementů značek v XAML. Rozšíření revizí vrací objekty sofistikovanějším způsobem než převaděče typů. Zapisovač objektu 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 je TypeConverterAttribute přiřazen typ nebo člen. Z hlediska systému typů XAML to znamená, že typ XAML nebo člen XAML má hodnotu pro jeho TypeConverter vlastnost. Vyvolání převaděče typů je svázané 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 vytvořeného kódu a lze jej použít vždy, když to scénář aplikace vyžaduje. Rozšíření revizí lze vyvolat a lze ho použít k nastavení různých hodnot člena typu, pokud je návratový typ rozšíření revizí k této hodnotě možné přiřadit.

Informace o vytvoření vlastního rozšíření značek naleznete v tématu ProvideValue. Další informace o rozšířeních značek obecně naleznete v tématu Rozšíření značek pro XAML Přehled. Pokud vytváříte WPF a používáte nebo vytváříte rozšíření značek pro XAML, najdete další relevantní informace 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. Pak IServiceProvider se dotazuje na konkrétní služby, které předávají informace, například IProvideValueTargetIXamlTypeResolver. Další informace o kontextech služby pro rozšíření značek naleznete v tématu Kontexty služeb dostupné pro převaděče typů a rozšíření značek.

Odvozené třídy by měly být přiřazovány s MarkupExtensionReturnTypeAttribute cílem informovat spotřebitele o nejvíce specifickém návratovém typu, který je k dispozici z implementace rozšíření ProvideValue značek.

Konstruktory

Name Description
MarkupExtension()

Inicializuje novou instanci třídy odvozené z MarkupExtension.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ProvideValue(IServiceProvider)

Při implementaci v odvozené třídě vrátí objekt, který je poskytován 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)

Platí pro

Viz také