Atualizar personalizações da Faixa de Opções migradas para o .NET Framework 4.5
Se o seu projeto contiver uma personalização da Faixa de Opções que foi criada usando o item de projeto Faixa de Opções (Visual Designer), você deverá fazer as seguintes alterações no código do projeto se a estrutura de destino for alterada para o .NET Framework 4 ou posterior.
Modifique o código da Faixa de Opções gerado.
Modifique qualquer código que instancie controles da Faixa de Opções em tempo de execução, manipule eventos da Faixa de Opções ou defina a posição de um componente da Faixa de Opções programaticamente.
Atualizar o código da Faixa de Opções gerado
Se a estrutura de destino do seu projeto for alterada para o .NET Framework 4 ou posterior, você deverá alterar o código gerado para o item da Faixa de Opções executando as etapas a seguir. Os arquivos de código que você precisa atualizar dependem da linguagem de programação e de como você criou o projeto:
Em projetos do Visual Basic ou em projetos do Visual C# que você criou no Visual Studio 2012 ou no Visual Studio 2010, execute todas as etapas no arquivo code-behind da Faixa de Opções (YourRibbonItem. Designer.cs ou YourRibbonItem. Desenhista.vb). Para ver o arquivo code-behind em projetos do Visual Basic, clique no botão Mostrar todos os arquivos no Gerenciador de Soluções.
Em projetos do Visual C# que você criou no Visual Studio 2008 e, em seguida, atualizou para o Visual Studio 2013, execute as duas primeiras etapas no arquivo de código da Faixa de Opções (YourRibbonItem.cs ou YourRibbonItem.vb) e execute as etapas restantes no arquivo code-behind da Faixa de Opções.
Para alterar o código da Faixa de Opções gerado
Modifique a declaração da classe Ribbon para que ela derive de em vez de RibbonBase
Microsoft.Office.Tools.Ribbon.OfficeRibbon
.Modifique o construtor da classe Ribbon conforme mostrado abaixo. Se você tiver adicionado qualquer código próprio ao construtor, não altere seu código. Em projetos do Visual Basic, modifique somente o construtor sem parâmetros. Ignore o outro construtor.
O exemplo de código a seguir mostra o construtor padrão de uma classe Ribbon em um projeto que se destina ao .NET Framework 3.5.
O exemplo de código a seguir mostra o construtor padrão de uma classe Ribbon em um projeto que se destina ao .NET Framework 4 ou posterior.
InitializeComponent
No método, modifique qualquer código que construa um controle Ribbon para que o código use um dos métodos auxiliares do RibbonFactory objeto.Observação
Em projetos Visual C#, você deve expandir a região que é nomeada
Component Designer generated code
para ver oInitializeComponent
método.Por exemplo, suponha que seu arquivo contém a seguinte linha de código que instancia um nomeado
button1
em um RibbonButton projeto que tem como alvo o .NET Framework 3.5.Em um projeto destinado ao .NET Framework 4 ou posterior, você deve usar o código a seguir.
Para obter uma lista completa dos métodos auxiliares para os controles da Faixa de Opções, consulte Instanciar controles da Faixa de Opções.
Em projetos Visual C#, modifique qualquer linha de código no
InitializeComponent
método que usa um delegado para usar um EventHandler<TEventArgs> delegado da Faixa de Opções específico.Por exemplo, suponha que seu arquivo contém a seguinte linha de código que manipula o Click evento em um projeto destinado ao .NET Framework 3.5.
<CodeContentPlaceHolder>8 Em um projeto destinado ao .NET Framework 4 ou posterior, você deve usar o código a seguir.
<CodeContentPlaceHolder>9 Para obter uma lista completa dos representantes da Faixa de Opções, consulte Manipular eventos da Faixa de Opções.
Em projetos do Visual Basic, localize a
ThisRibbonCollection
classe no final do arquivo. Modifique a declaração dessa classe para que ela não herde mais doMicrosoft.Office.Tools.Ribbon.RibbonReadOnlyCollection
.
Instanciar controles da Faixa de Opções
Você deve modificar qualquer código que instancie dinamicamente os controles da Faixa de Opções. Em projetos destinados ao .NET Framework 3.5, controles da Faixa de Opções são classes que você pode instanciar diretamente em determinados cenários. Em projetos destinados ao .NET Framework 4 ou posterior, esses controles são interfaces que você não pode instanciar diretamente. Você deve criar os controles usando métodos fornecidos pelo RibbonFactory objeto.
Existem duas maneiras de acessar o objeto RibbonFactory:
Usando a propriedade Factory da classe Ribbon. Use essa abordagem no código na classe Ribbon.
Usando o método
Globals.Factory.GetRibbonFactory
. Use essa abordagem no código fora da classe Ribbon. Para obter mais informações sobre a classe Globals, consulte Acesso global a objetos em projetos do Office.O exemplo de código a seguir demonstra como criar um em uma classe Ribbon em um RibbonButton projeto que se destina ao .NET Framework 4 ou posterior.
<CodeContentPlaceHolder 10<CodeContentPlaceHolder>>11 A tabela a seguir lista os controles que você pode criar programaticamente e o método a ser usado para criar os controles em projetos destinados ao .NET Framework 4 ou posterior.
Manipular eventos da Faixa de Opções
Você deve modificar qualquer código que manipula eventos de controles da Faixa de Opções. Em projetos destinados ao .NET Framework 3.5, esses eventos são manipulados pelo delegado genérico EventHandler<TEventArgs> . Em projetos destinados ao .NET Framework 4 ou posterior, esses eventos agora são manipulados por outros representantes.
A tabela a seguir lista os eventos da Faixa de Opções e os delegados associados a eles em projetos destinados ao .NET Framework 4 ou posterior.
Evento | Delegar para uso no .NET Framework 4 e projetos posteriores |
---|---|
LoadImage em uma classe Ribbon gerada | RibbonLoadImageEventHandler |
Load | RibbonUIEventHandler |
Click Click ItemsLoading TextChanged ButtonClick ItemsLoading SelectionChanged TextChanged ButtonClick Click ItemsLoading DialogLauncherClick ItemsLoading Click Click |
RibbonControlEventHandler |
Definir a posição de um componente da Faixa de Opções programaticamente
Você deve modificar qualquer código que defina a posição de grupos, guias ou controles da Faixa de Opções. Em projetos destinados ao .NET Framework 3.5, você pode usar os AfterOfficeId
métodos e BeforeOfficeId
da classe estática Microsoft.Office.Tools.Ribbon.RibbonPosition
para atribuir a Position
propriedade de um grupo, guia ou controle. Em projetos destinados ao .NET Framework 4 ou posterior, você deve acessar esses métodos usando a RibbonPosition propriedade fornecida pelo RibbonFactory objeto.
Existem duas maneiras de acessar o objeto RibbonFactory:
Usando a propriedade
Factory
da classe Ribbon. Use essa abordagem no código na classe Ribbon.Usando o método
Globals.Factory.GetRibbonFactory
. Use essa abordagem no código fora da classe Ribbon. Para obter mais informações sobre a classe Globals, consulte Acesso global a objetos em projetos do Office.O exemplo de código a seguir demonstra como definir a
Position
propriedade de uma guia em uma classe Ribbon em um projeto que se destina ao .NET Framework 3.5.
O exemplo de código a seguir demonstra a mesma tarefa em um projeto que se destina o.NET Framework 4.