Compartilhar via


Formulários: Principais Conceitos

 

Publicado: julho de 2016

Aplicável a: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

Antes de personalizar formulários, você deve estar familiarizado com os conceitos de formulário a seguir.

Como os formulários são usados

Quando o pacote de gerenciamento que contém as definições de formulário é importado para o System Center 2012 - Service Manager, as definições de formulário são armazenadas no banco de dados. Posteriormente, quando o usuário inicia uma tarefa do Service Manager Console que requer a exibição de um objeto, o Service Manager deve localizar um formulário para exibir o objeto solicitado. O Service Manager acessa o banco de dados e procura um formulário que tenha sido definido para esse objeto. Se nenhum formulário for definido para o objeto, o Service Manager procura um formulário que está definido para o objeto pai do objeto. O Service Manager continua pesquisando a hierarquia de herança do objeto inteiro até encontrar um formulário definido.

Formulários genéricos

Se o Service Manager não puder localizar nenhum formulário para o objeto ou para qualquer um de seus objetos-pai, o Service Manager criará dinamicamente um formulário genérico padrão para esse objeto. O formulário genérico é um formulário gerado pelo sistema que é suficiente para o uso de formulário simples. O formulário genérico representa uma maneira rápida e fácil de criar um formulário para objetos sem definições de formulário.

Por padrão, o formulário genérico exibe todas as propriedades do formulário em um layout simples que você não pode alterar. O formulário genérico exibe as propriedades de todos os objetos-pai na hierarquia de herança do formulário e você não pode alterar esse comportamento. As personalizações para o formulário genérico são limitadas. Por exemplo, você pode especificar as propriedades que deseja que o formulário genérico exiba; no entanto, o formulário genérico não pode ser usado como uma base para a personalização. Se você definir posteriormente um formulário personalizado para esse objeto, o formulário personalizado substituirá o formulário genérico do objeto.

Para obter informações sobre como ocultar propriedades em um formulário genérico e outras maneiras de personalizar um formulário genérico, consulte a postagem no blog Overview of the Forms Infrastructure and the Generic Form (Visão geral da infraestrutura de formulário e do formulário genérico).

Classes de combinação em formulários

Às vezes, você precisa de um formulário para exibir informações que são derivadas de mais de uma classe. Para fazer isso, você cria uma classe de combinação e associa um campo no formulário a ela.Para obter mais informações sobre classes de combinação, consulte Alterações no esquema comum do System Center.

Aspectos funcionais de um formulário

Um formulário tem os seguintes aspectos funcionais:

  1. Inicialização

  2. Tamanho e local

  3. Atualizar

  4. Enviar alterações

Esses aspectos são descritos nas seções a seguir.

Inicialização

Durante a inicialização, a linguagem XAML de um formulário é analisada e todos os controles no formulário são instanciados e carregados. O evento Loaded do formulário indica quando o formulário e todos os elementos contidos foram carregados. As operações de carregamento de dados são assíncronas. Portanto, a instância de destino pode não estar disponível quando o evento Loaded é gerado. Em vez disso, o evento DataContextChanged deve ser usado para notificação quando a instância de destino está definida para o formulário. O evento PropertyChanged da propriedade DataContext pode ser usado no lugar do evento DataContextChanged.

Recomendamos usar o evento Loaded para inicialização personalizada relacionada ao controle e, em seguida, usar os eventos DataContextChanged ou PropertyChanged na propriedade DataContext para inicialização personalizada relacionada à instância de destino.

Tamanho e local

Quando um formulário é exibido em uma janela pop-up, seu tamanho inicial é determinado com base nas propriedades Width, Height, MinWidth e MinHeight do formulário. Se essas propriedades não forem definidas para o formulário, o tamanho inicial do formulário será calculado com base em seu conteúdo.

Recomendamos definir essas propriedades da seguinte maneira:

  • Defina as propriedades Width e Height do formulário para especificar explicitamente o tamanho ideal. Considere definir essas propriedades para o valor Auto. Isso define a largura e a altura do formulário com base no tamanho do conteúdo.

  • Defina as propriedades MinWidth e MinHeight a fim de especificar a menor janela aceitável para o formulário. Se um usuário redimensionar a janela para um tamanho menor do que foi especificado, serão exibidas barras de rolagem para rolar até o conteúdo oculto do formulário.

Quando o formulário está hospedado dentro do host de formulários do Service Manager, o tamanho e o local usados pela última vez são preservados para exibição subsequente desse formulário pelo mesmo usuário na mesma sessão de execução.

Atualizar

A instância de destino de um formulário pode ser alterada como resultado da execução de um comando Refresh no formulário. O manipulador desse comando busca novos dados do banco de dados. Quando os dados chegam, o valor de propriedade DataContext do formulário é definido como a nova instância de destino e o evento DataContextChanged é gerado.

Para diferenciar entre o evento DataContextChanged que foi gerado quando o formulário foi carregado pela primeira vez e o evento que foi gerado para manipular um comando Refresh, verifique a propriedade OldValue dos argumentos do evento que são transmitidas com o evento. Essa propriedade será null se o formulário já tiver sido inicializado.

Enviar Alterações

A janela pop-up do host do formulário no Service Manager fornece botões para enviar alterações feitas no formulário e para fechar a janela pop-up.

Quando um usuário clica no botão Aplicar de um formulário, a instância de destino do formulário é enviada para armazenamento. Esta operação é síncrona; portanto, o usuário não pode editar o formulário até que a operação de envio esteja concluída. Se ocorrer uma falha durante o envio do formulário, será exibida uma mensagem de erro. O formulário permanece aberto para outras alterações. Recomendamos que os usuários apliquem suas alterações com frequência para evitar colisões de outra instância do formulário estiver sendo editada ao mesmo tempo.

Se o usuário clicar no botão OK, o comportamento será semelhante a Aplicar, exceto que, se a operação de envio de formulário for bem-sucedida, o formulário e sua janela de hospedagem serão fechados.

Se o usuário clicar no botão Cancelar, será exibida uma caixa de diálogo solicitando que o usuário confirme a operação. O usuário pode clicar em Sim e perder as alterações ou clicar em Não e retornar para o formulário.

Consulte também

Formulários: Personalização e criação