ExpressionEditorSheet Classe

Definição

Representa uma folha editora de tempo de design para uma expressão personalizada. Esta classe tem de ser herdada.

public ref class ExpressionEditorSheet abstract
public abstract class ExpressionEditorSheet
type ExpressionEditorSheet = class
Public MustInherit Class ExpressionEditorSheet
Herança
ExpressionEditorSheet
Derivado

Observações

Uma folha de editor de expressões personalizada permite ao programador definir propriedades numa expressão personalizada em tempo de design. Os valores das propriedades de controlo podem ser definidos usando cadeias de expressão; As cadeias de expressão são avaliadas em tempo de execução por um construtor de expressões e em tempo de design por um editor de expressões.

Quando navega pela Expressions propriedade à procura de um controlo na grelha de propriedades em tempo de design, o designer visual mostra uma caixa de diálogo para definir expressões que fornecem o valor de uma propriedade de controlo. Pode selecionar o tipo de expressão com base numa lista de prefixos de expressão. Quando seleciona um prefixo de expressão da lista, o designer visual usa os objetos e ExpressionEditorSheet associados ExpressionEditor para avaliar e converter a cadeia de expressão com base na sintaxe desse tipo de expressão. O designer visual utiliza propriedades da folha do editor de expressões para pedir uma ou mais strings que se combinam na string de expressão personalizada.

Normalmente, para fornecer um novo tipo de expressão no momento do design, define-se um prefixo de expressão único e fornece personalizações ExpressionBuilder e ExpressionEditor implementações. Opcionalmente, pode fornecer uma implementação personalizada ExpressionEditorSheet que defina propriedades que são usadas para formar a expressão. Para associar um prefixo de expressão a um construtor de expressões e a um editor de expressões, aplique o ExpressionEditorAttribute atributo e um ExpressionPrefixAttribute atributo à classe personalizada ExpressionBuilder , e depois configure o prefixo de expressão para um construtor de expressões no expressionBuilders elemento no ficheiro de configuração Web.

A implementação padrão do GetExpressionEditorSheet método devolve uma folha de editor básica, que utiliza uma única cadeia de entrada para formar a expressão. Editores de expressões personalizados derivados do ExpressionEditor podem sobrescrever o GetExpressionEditorSheet método para devolver uma implementação personalizada da folha de editor. Normalmente, uma folha de editor personalizada contém múltiplas propriedades que são usadas para construir a cadeia de expressão. O GetExpression método devolve a cadeia de expressão resultante com base nas propriedades de expressão atuais.

Por exemplo, a ResourceExpressionEditor classe deriva da ExpressionEditor classe e fornece uma implementação para avaliar e associar uma referência de cadeia de recursos a uma propriedade de controlo no momento do projeto. A ResourceExpressionBuilder classe está associada ao prefixo Resources de expressão e à ResourceExpressionEditor implementação. O GetExpressionEditorSheet método devolve um ResourceExpressionEditorSheet, que define as propriedades individuais que formam uma expressão de referência de recurso.

Quando herdas da ExpressionEditorSheet classe, deves sobrepor os seguintes membros:

  • O GetExpressionEditorSheet método para devolver uma implementação personalizada de folha de editor.

  • O ExpressionEditorSheet construtor para implementar ações de inicialização personalizadas para a implementação da sua folha de editor de expressões.

Notas para Implementadores

Derive uma folha de editor de expressões personalizada a partir da ExpressionEditorSheet classe, se estiver a definir um novo tipo de expressão para valores de propriedades de controlo e quiser construir a cadeia de expressão com base em múltiplos valores de propriedades de expressão. Uma implementação de classe derivada deve conter o seguinte:

  • Uma propriedade pública para cada valor distinto na cadeia de expressões que pode ser definida no momento do design.

  • Uma implementação do GetExpression() método que forma a cadeia de expressão personalizada a partir dos valores das propriedades da folha do editor.

  • Opcionalmente, uma implementação de construtor que define os valores iniciais das propriedades da folha editora.

A classe de editor de expressões personalizada associada cria uma instância da folha de editor derivada no GetExpressionEditorSheet(String, IServiceProvider) método, inicializa essa instância com o conjunto atual de string de expressões para a propriedade de controlo e devolve a instância ao designer visual. O designer visual permite definir as propriedades da folha de expressão e depois chama o GetExpression() método para formar a string de expressão a partir dos valores das propriedades da folha de expressão de entrada.

Construtores

Name Description
ExpressionEditorSheet(IServiceProvider)

Inicializa uma nova instância da ExpressionEditorSheet classe.

Propriedades

Name Description
IsValid

Obtém um valor que indica se a cadeia de expressão é válida.

ServiceProvider

Obtém a implementação do fornecedor de serviços que é usada pela folha de editor de expressões.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetExpression()

Quando sobrescrito numa classe derivada, devolve a cadeia de expressão que é formada pelos valores da propriedade da folha do editor de expressões.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também