AttributeCallbackBuilder – třída
Instance této třídy je předáno Delegáti naplnit lazily atributy pro typ zpětného volání.
Hierarchie dědičnosti
System.Object
Microsoft.Windows.Design.Metadata.AttributeCallbackBuilder
Obor názvů: Microsoft.Windows.Design.Metadata
Sestavení: Microsoft.Windows.Design.Extensibility (v Microsoft.Windows.Design.Extensibility.dll)
Syntaxe
'Deklarace
Public NotInheritable Class AttributeCallbackBuilder
public sealed class AttributeCallbackBuilder
public ref class AttributeCallbackBuilder sealed
[<Sealed>]
type AttributeCallbackBuilder = class end
public final class AttributeCallbackBuilder
Typ AttributeCallbackBuilder zveřejňuje následující členy.
Vlastnosti
Název | Popis | |
---|---|---|
CallbackType | Toto zpětné volání je vyvolávána pro požadovaný typ získá. |
Na začátek
Metody
Název | Popis | |
---|---|---|
AddCustomAttributes(array<Attribute[]) | Tento nástroj přidá obsah dané atributy. | |
AddCustomAttributes(String, array<Attribute[]) | Přidá atributy členů se zadaným názvem. | |
Equals | Určuje, zda zadaná Object se rovná aktuální Object. (Zděděno z Object.) | |
Finalize | Umožňuje zkuste uvolnit prostředky a provádět další operace vyčištění před je převzaty systémem pro uvolnění objektu. (Zděděno z Object.) | |
GetHashCode | Slouží jako funkce hash určitého typu. (Zděděno z Object.) | |
GetType | Získává Type aktuální instance. (Zděděno z Object.) | |
MemberwiseClone | Vytvoří kopii aktuální Object. (Zděděno z Object.) | |
ToString | Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.) |
Na začátek
Poznámky
Použití AttributeCallbackBuilder k naplnění AttributeTable na vyžádání. To je zvláště důležité pro atribut tabulky, které obsahují mnoho atributů. Pokud zadáte pouze několik atributů typu, použít AttributeTableBuilder samotný.
Formátu delegát vznikly žádné atributy dokud metadata pro typ cíle žádá Návrhář. AttributeTableBuilder Přenese do této informace zpětného volání AttributeTable a zachová jej. Proto tyto Delegáti zpětné volání pouze vyvolat na vyžádání. Po vyvolání, jejich výsledky jsou mezipaměti AttributeTable.
Povolit vytváření atributu na vyžádání pomocí AddCallback metody.
Příklady
Následující příklad kódu ukazuje, jak vytvořit a naplnit tabulku atributů pomocí AttributeCallbackBuilder Třída
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Reflection;
using System.Windows.Media;
using System.Windows.Controls;
using System.Windows;
using Microsoft.Windows.Design.Features;
using Microsoft.Windows.Design.Metadata;
// The ProvideMetadata assembly-level attribute indicates to designers
// that this assembly contains a class that provides an attribute table.
[assembly: ProvideMetadata(typeof(CustomControlLibrary.VisualStudio.Design.Metadata))]
namespace CustomControlLibrary.VisualStudio.Design
{
// Container for any general design-time metadata to initialize.
// Designers look for a type in the design-time assembly that
// implements IProvideAttributeTable. If found, designers instantiate
// this class and access its AttributeTable property automatically.
internal class Metadata : IProvideAttributeTable
{
// Accessed by the designer to register any design-time metadata.
public AttributeTable AttributeTable
{
get
{
AttributeTableBuilder builder = new AttributeTableBuilder();
// Build the attribute table by using the AttributeCallbackBuilder
// class. The attribute table is not populated until the designer
// needs it, which is more efficient for large attribute tables.
builder.AddCallback(
typeof(Button),
delegate(AttributeCallbackBuilder callbackBuilder)
{
callbackBuilder.AddCustomAttributes(
new DefaultPropertyAttribute("Content"));
// Apply the ReadOnlyAttribute to the Background property
// of the Button class.
callbackBuilder.AddCustomAttributes(
"Background",
new ReadOnlyAttribute(true));
});
return builder.CreateTable();
}
}
}
}
Zabezpečení podprocesu
Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.
Viz také
Odkaz
Microsoft.Windows.Design.Metadata – obor názvů