Sdílet prostřednictvím


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
Veřejná vlastnost CallbackType Toto zpětné volání je vyvolávána pro požadovaný typ získá.

Na začátek

Metody

  Název Popis
Veřejná metoda AddCustomAttributes(array<Attribute[]) Tento nástroj přidá obsah dané atributy.
Veřejná metoda AddCustomAttributes(String, array<Attribute[]) Přidá atributy členů se zadaným názvem.
Veřejná metoda Equals Určuje, zda zadaná Object se rovná aktuální Object. (Zděděno z Object.)
Chráněná metoda 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.)
Veřejná metoda GetHashCode Slouží jako funkce hash určitého typu. (Zděděno z Object.)
Veřejná metoda GetType Získává Type aktuální instance. (Zděděno z Object.)
Chráněná metoda MemberwiseClone Vytvoří kopii aktuální Object. (Zděděno z Object.)
Veřejná metoda 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ů

AttributeTableBuilder

AddCallback

AttributeTable

Další zdroje

Walkthrough: Creating a Design-time Adorner