Compartilhar via


ExpressionEditorSheet Classe

Definição

Representa uma folha de editor de tempo de design para uma expressão personalizada. Essa classe deve ser herdada.

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

Comentários

Uma folha do editor de expressões personalizada permite que um desenvolvedor defina propriedades em uma expressão personalizada em tempo de design. Os valores da propriedade control podem ser definidos usando cadeias de caracteres de expressão; as cadeias de caracteres 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ão.

Quando você navega na Expressions propriedade para um controle na grade de propriedades de tempo de design, o designer visual exibe uma caixa de diálogo para definir expressões que fornecem o valor de uma propriedade de controle. Você pode selecionar o tipo de expressão com base em uma lista de prefixos de expressão. Quando você seleciona um prefixo de expressão na lista, o designer visual usa os objetos e ExpressionEditorSheet associados ExpressionEditor para avaliar e converter a cadeia de caracteres de expressão com base na sintaxe desse tipo de expressão. O designer visual usa as propriedades da folha do editor de expressões para solicitar uma ou mais cadeias de caracteres que se combinam na cadeia de caracteres de expressão personalizada.

Normalmente, para fornecer um novo tipo de expressão em tempo de design, você define um prefixo de expressão exclusiva e fornece implementações e ExpressionEditor personalizadasExpressionBuilder. Opcionalmente, você pode fornecer uma implementação personalizada ExpressionEditorSheet que define as propriedades usadas para formar a expressão. Para associar um prefixo de expressão a um construtor de expressões e um editor de expressões, aplique o ExpressionEditorAttribute atributo e um ExpressionPrefixAttribute atributo à classe personalizada ExpressionBuilder e configure o prefixo de expressão para um construtor de expressões no expressionBuilders elemento no arquivo de configuração da Web.

A implementação padrão do GetExpressionEditorSheet método retorna uma folha de editor básica, que usa uma única cadeia de caracteres de entrada para formar a expressão. Editores de expressões personalizadas derivados do ExpressionEditor método podem substituir o GetExpressionEditorSheet método para retornar uma implementação personalizada da planilha do editor. Normalmente, uma folha de editor personalizada contém várias propriedades que são usadas para criar a cadeia de caracteres de expressão. O GetExpression método retorna a cadeia de caracteres de expressão resultante com base nas propriedades da expressão atual.

Por exemplo, a ResourceExpressionEditor classe deriva da ExpressionEditor classe e fornece uma implementação para avaliar e associar uma referência de cadeia de caracteres de recurso a uma propriedade de controle em tempo de design. A ResourceExpressionBuilder classe está associada ao prefixo Resources de expressão e à ResourceExpressionEditor implementação. O GetExpressionEditorSheet método retorna um ResourceExpressionEditorSheet, que define as propriedades individuais que formam uma expressão de referência de recurso.

Ao herdar da ExpressionEditorSheet classe, você deve substituir os seguintes membros:

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

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

Notas aos Implementadores

Derivar uma folha de editor de expressão personalizada da ExpressionEditorSheet classe, se você estiver definindo um novo tipo de expressão para valores de propriedade de controle e quiser criar a cadeia de caracteres de expressão com base em vários valores de propriedade de expressão. Uma implementação de classe derivada deve conter o seguinte:

  • Uma propriedade pública para cada valor distinto na cadeia de caracteres de expressão que pode ser definida em tempo de design.

  • Uma implementação do GetExpression() método que forma a cadeia de caracteres de expressão personalizada dos valores da propriedade da planilha do editor.

  • Opcionalmente, uma implementação de construtor que define os valores iniciais das propriedades da planilha do editor.

A classe do editor de expressões personalizadas associada cria uma instância da planilha do editor derivada no GetExpressionEditorSheet(String, IServiceProvider) método, inicializa essa instância com a cadeia de caracteres de expressão atual definida para a propriedade de controle e retorna a instância para o designer visual. O designer visual permite que você defina as propriedades da folha de expressões e, em seguida, chama o GetExpression() método para formar a cadeia de caracteres de expressão dos valores da propriedade da folha de expressão de entrada.

Construtores

Nome Description
ExpressionEditorSheet(IServiceProvider)

Inicializa uma nova instância da classe ExpressionEditorSheet.

Propriedades

Nome Description
IsValid

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

ServiceProvider

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

Métodos

Nome Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetExpression()

Quando substituído em uma classe derivada, retorna a cadeia de caracteres de expressão que é formada pelos valores da propriedade da folha do editor de expressões.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também