Passo a passo: Fornecendo metadados para ícones de caixa de ferramentas

Esta explicação passo a passo mostra como fornecer ícones da caixa de ferramentas para designers diferentes, como Visual Studio e o Expression Blend, em uma controle personalizadode Windows Presentation Foundation (WPF)biblioteca. Quando você adiciona o controle personalizado para um designerdo Toolbox, no ícone apropriado aparece próximo ao nome do controle.

O WPF Designer for Visual Studio permite que os ícones personalizados fornecendo ferramentas para designers diferentes. Por exemplo, você pode ícones diferentes de destino para o seu controle personalizado em Visual Studio e Expression Blend. Os ícones é fornecida pelo design-tempo implementação substituir o ícone padrão de tempo de execuçãodo controleassembly.

In this walkthrough, you perform the following tasks:

  • Crie umprojeto dobibliotecadecontrole personalizado WPFcom um ícone incorporado de bitmap.

  • Crie um assembly separado para de tempo de design- metadados que substitui o ícone da caixa de ferramentas padrão.

  • Teste o ícone do controle em tempo de design.

Quando tiver terminado, você saberá como substituir o padrão executados ícone de hora de-para um controle personalizado em tempo de design-.

ObservaçãoObservação

Caixas de diálogo e comandos de menu que você vê podem diferir das descritas na Help dependendo das suas configurações ativas ou edição. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. For more information, see Trabalhando com configurações.

Pré-requisitos

You need the following components to complete this walkthrough:

  • Visual Studio 2010.

Criando um controle Personalizar com um ícone da caixa de ferramentas

Para criar um ícone personalizado para um controle de caixa de ferramentas, você adicionar uma imagem como um recurso inserido do controle projeto.

Para criar um controle personalizado com um ícone da caixa de ferramentas

  1. Criar uma biblioteca de controlePersonalizar WPFnovo projeto em Visual Basic ou o Visual C# chamado TailspinToysControlLibrary.

  2. Renomear o CustomControl1 o arquivo de código para TailspinToysControl.

  3. Adicionar um ícone da caixa de ferramentas chamado TailspinToysControl.icon.bmp como um recurso inserido. For more information, see Passo a passo: Criando um ícone de caixa de ferramentas personalizada para um controle.

  4. Usando o ferramenta deTexto, pintura padrão o bitmap, que indica quando a caixa de ferramentas carrega o ícone do controle assemblydo padrão.

  5. Definir o caminho de saída do projeto"... \TailspinToysControlLibrary\bin\ ".

  6. Build the solution.

Creating the Design-time Metadata Assembly

Design-time code is deployed in special metadata assemblies. Para esta explicação passo a passo, os metadados personalizados que é suportado pelo Visual Studio e o Expression Blend e é implantado em um assembly chamado TailspinToysControlLibrary.Design.

To create the design-time metadata assembly

  1. Criar um tempo de design- assembly denominado TailspinToysControlLibrary.Design. For more information, see Passo a passo: Fornecendo metadados de tempo de design personalizados.

  2. Abra o arquivo de código de RegisterMetadata no Editor de Código .

  3. Replace the automatically generated code with the following code. Esse código cria um AttributeTable que se conecta os atributos de tempo de design personalizado-para o TailspinToysControl classe.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    using Microsoft.Windows.Design;
    using Microsoft.Windows.Design.Features;
    using Microsoft.Windows.Design.Metadata;
    
    using TailspinToysControlLibrary;
    
    // The ProvideMetadata assembly-level attribute indicates to designers
    // that this assembly contains a class that provides an attribute table. 
    [assembly: ProvideMetadata(typeof(TailspinToysControlLibrary.Design.RegisterMetadata))]
    namespace TailspinToysControlLibrary.Design
    {
        internal class RegisterMetadata : IProvideAttributeTable
        {
            // Called by the designer to register any design-time metadata. 
            public AttributeTable AttributeTable
            {
                get
                {
                    AttributeTableBuilder builder = new AttributeTableBuilder();
    
                    // Set ToolboxBrowsableAttribute to true to display your custom control 
                    // in the Toolbox and in the Choose Items... dialog box. 
                    builder.AddCustomAttributes(typeof(TailspinToysControl), new ToolboxBrowsableAttribute(true));
    
                    return builder.CreateTable();
                }
            }
        }
    }
    
  4. Save the solution.

Criando os ícones de ferramentas de tempo de Design-

Agora que você tem um tempo de design- assembly, você pode criar seus ícones personalizados da Toolbox e adicioná-los ao projeto como recursos incorporados. Você irá criar dois ícones, uma para Visual Studio e outra para o Expression Blend.

Para criar o ícone de caixa de ferramentas de tempo de design-para Visual Studio

  1. Adicionar um novo arquivo de bitmap para o projetode TailspinToysControlLibrary.Design. ONome arquivo de bitmap TailspinToysControlLibrary.TailspinToysControl.VisualStudio.24bit.48x48.bmp.

  2. No janela Propriedades, definir o bitmapdo cores depropriedade para de 24 bits.

  3. Usando o ferramenta deTexto, pintura METADADOS o bitmap, que indica quando o ícone é definido a partir demetadadosdo designer.

  4. Em Solution Explorer, selecione o arquivo de bitmap .

  5. No janela Propriedades, defina a Build Action depropriedade para Embedded Resource.

  6. Adicionar um novo arquivo de bitmap para o projetode TailspinToysControlLibrary.Design. ONome arquivo de bitmap TailspinToysControlLibrary.TailspinToysControl.Expression.4bit.48x48.bmp.

    ObservaçãoObservação

    Mistura carrega somente os arquivos PNG como ícones, então você usar o Paint programa externo para criar o ícone de mesclagem.

  7. À direita, clique no Editor de imagem de-e selecione Abrir Editor Externo nomenude atalho.

    O aplicativo de pintura abre.

  8. Usando a ferramenta de Texto , pintar BLEND no bitmap, que indica o ícone é para uso no Expression Blend ativos janela.

  9. Salvar imagem como um arquivo. png.

  10. Em Solution Explorer, à direita clique de-a TailspinToysControlLibrary.Design projeto, aponte para Adicionare selecione Item existente nomenude atalho.

  11. No Adicionar Existing Item caixa de diálogo, selecione TailspinToysControlLibrary.TailspinToysControl.Expression.4bit.48x48.png e, em seguida, clique em Adicionar.

  12. Em Solution Explorer, selecione o arquivo de imagem . png.

  13. No janela Propriedades, defina a Build Action depropriedade para Embedded Resource.

  14. Excluir a esvaziar TailspinToysControlLibrary.TailspinToysControl.Expression.4bit.48x48.bmpo arquivo debitmap .

  15. Build the solution.

Os ícones da caixa de ferramentas de teste.

Teste seu ícone da caixa de ferramentas personalizada, adicionando TailspinToysControl a caixa de ferramentas.

Para teste o ícone da caixa de ferramentas

  1. Adicionar um novo aplicativo do WPF projeto em Visual Basic ou o Visual C# chamado TestApplication à solução.

    MainWindow. XAML é aberto no WPF Designer. Na caixa de ferramentas, TailspinToysControl consta o Controles de TailspinToysControlLibrary guia. O ícone de controle padrão é exibido.

    Ícone de Caixa de Ferramentas padrão

    ObservaçãoObservação

    O ícone incorporado no controle do runtime- assembly não é exibida. Esta é uma limitação do recursode população do Toolbox auto-.

  2. Na caixa de ferramentas, clique em direita- TailspinToysControl, selecione Excluir domenude atalhoe clique OK.

    TailspinToysControl é removida da caixa de ferramentas.

  3. Na caixa de ferramentas, clique em direita-a Controles de TailspinToysControlLibrary e, em seguida, selecione Escolher itens nomenude atalho.

    The Choose Toolbox Items dialog box opens.

  4. Click the WPF Components tab. For more information, see Componentes do WPF de tabulação, escolha a caixa de diálogo de itens da caixa de ferramentas.

  5. Clique em Procurar e navegue até a pasta TailspinToysControlLibrary\TailspinToysControlLibrary\bin.

  6. Duplo clique de- TailspinToysControlLibrary.dll para selecioná-lo.

    Detalhes do assembly de TailspinToysControlLibrary são exibidos no Choose Toolbox Items caixa de diálogo. Consta de seu ícone de tempo de design personalizado-a TailspinToysControl caixa de grupo.

    Caixa de diálogo Escolher Itens da Caixa de Ferramentas com ícone personalizado

  7. Click OK.

    TailspinToysControl aparece na caixa de ferramentas com o TailspinToysControlLibrary.TailspinToysControl.VisualStudio.24bit.48x48.bmp ícone, que substitui o ícone na execução de-vez assembly.

    Ícone de Caixa de Ferramentas personalizado

Próximas etapas

  • Você também pode carregar o controle personalizado e design-vez assembly no Expression Blend. Iniciando no 4 do Expression Blend, o TailspinToysControlLibrary.TailspinToysControl.Expression.4bit.48x48.png ícone é exibido na ativos janela quando você adiciona uma referência de projeto para o assemblydo TailspinToysControlLibrary.dll.

  • Você pode implantar seu tempo de execução-e-de design assemblies de tempo usando o procedimentode registro de AssemblyFoldersEx. For more information, see Implantando um controle personalizado e assemblies de tempo de design.

Consulte também

Tarefas

Passo a passo: Criando um ícone de caixa de ferramentas personalizada para um controle

Referência

AttributeTable

Componentes do WPF de tabulação, escolha a caixa de diálogo de itens da caixa de ferramentas

Outros recursos

Ícones de caixa de ferramentas

Passo a passo: Fornecendo metadados de tempo de design personalizados

Implantando um controle personalizado e assemblies de tempo de design

Fornecimento de metadados de tempo de design