Condividi tramite


ExpressionEditorSheet Classe

Definizione

Rappresenta una pagina dell'editor in fase di progettazione per un'espressione personalizzata. La classe deve essere ereditata.

public ref class ExpressionEditorSheet abstract
public abstract class ExpressionEditorSheet
type ExpressionEditorSheet = class
Public MustInherit Class ExpressionEditorSheet
Ereditarietà
ExpressionEditorSheet
Derivato

Commenti

Un foglio dell'editor di espressioni personalizzato consente a uno sviluppatore di impostare le proprietà in un'espressione personalizzata in fase di progettazione. I valori delle proprietà di controllo possono essere impostati usando stringhe di espressione; le stringhe di espressione vengono valutate in fase di esecuzione da un generatore di espressioni e in fase di progettazione da un editor di espressioni.

Quando si sfoglia la Expressions proprietà per un controllo nella griglia delle proprietà della fase di progettazione, nella finestra di progettazione visiva viene visualizzata una finestra di dialogo per impostare espressioni che forniscono il valore per una proprietà del controllo. È possibile selezionare il tipo di espressione in base a un elenco di prefissi di espressione. Quando si seleziona un prefisso di espressione dall'elenco, la finestra di progettazione visiva usa gli oggetti e ExpressionEditorSheet associati ExpressionEditor per valutare e convertire la stringa di espressione in base alla sintassi per tale tipo di espressione. La finestra di progettazione visiva usa le proprietà del foglio dell'editor di espressioni per richiedere una o più stringhe combinate nella stringa dell'espressione personalizzata.

In genere, per fornire un nuovo tipo di espressione in fase di progettazione, è necessario definire un prefisso di espressione univoco e fornire implementazioni e ExpressionEditor personalizzateExpressionBuilder. Facoltativamente, è possibile fornire un'implementazione personalizzata ExpressionEditorSheet che definisce le proprietà utilizzate per formare l'espressione. Per associare un prefisso di espressione a un generatore di espressioni e a un editor di espressioni, applicare l'attributo ExpressionEditorAttribute e un ExpressionPrefixAttribute attributo alla classe personalizzata ExpressionBuilder e quindi configurare il prefisso dell'espressione per un generatore di espressioni nell'elemento expressionBuilders nel file di configurazione Web.

L'implementazione predefinita del GetExpressionEditorSheet metodo restituisce un foglio dell'editor di base, che usa una singola stringa di input per formare l'espressione. Gli editor di espressioni personalizzati derivati da possono eseguire l'override del GetExpressionEditorSheet metodo per restituire un'implementazione del foglio dell'editor ExpressionEditor personalizzata. In genere, un foglio dell'editor personalizzato contiene più proprietà utilizzate per compilare la stringa dell'espressione. Il GetExpression metodo restituisce la stringa di espressione risultante in base alle proprietà dell'espressione corrente.

Ad esempio, la ResourceExpressionEditor classe deriva dalla ExpressionEditor classe e fornisce un'implementazione per la valutazione e l'associazione di un riferimento stringa di risorsa a una proprietà del controllo in fase di progettazione. La ResourceExpressionBuilder classe è associata al prefisso Resources dell'espressione e all'implementazione ResourceExpressionEditor . Il GetExpressionEditorSheet metodo restituisce un ResourceExpressionEditorSheetoggetto , che definisce le singole proprietà che formano un'espressione di riferimento alla risorsa.

Quando si eredita dalla ExpressionEditorSheet classe , è necessario eseguire l'override dei membri seguenti:

  • Metodo GetExpressionEditorSheet per restituire un'implementazione personalizzata del foglio dell'editor.

  • ExpressionEditorSheet Costruttore per implementare azioni di inizializzazione personalizzate per l'implementazione del foglio dell'editor di espressioni.

Note per gli implementatori

Derivare un foglio dell'editor ExpressionEditorSheet di espressioni personalizzato dalla classe , se si definisce un nuovo tipo di espressione per i valori delle proprietà del controllo e si vuole compilare la stringa dell'espressione in base a più valori di proprietà dell'espressione. Un'implementazione della classe derivata deve contenere quanto segue:

  • Proprietà pubblica per ogni valore distinto nella stringa di espressione che può essere impostata in fase di progettazione.

  • Implementazione del GetExpression() metodo che forma la stringa di espressione personalizzata dai valori delle proprietà della finestra dell'editor.

  • Facoltativamente, un'implementazione del costruttore che imposta i valori iniziali delle proprietà del foglio dell'editor.

La classe dell'editor di espressioni personalizzate associata crea un'istanza del foglio dell'editor derivato nel GetExpressionEditorSheet(String, IServiceProvider) metodo , inizializza tale istanza con la stringa di espressione corrente impostata per la proprietà del controllo e restituisce l'istanza alla finestra di progettazione visiva. La finestra di progettazione visiva consente di impostare le proprietà del foglio delle espressioni e quindi chiama il GetExpression() metodo per formare la stringa di espressione dai valori delle proprietà della finestra delle espressioni di input.

Costruttori

ExpressionEditorSheet(IServiceProvider)

Inizializza una nuova istanza della classe ExpressionEditorSheet.

Proprietà

IsValid

Ottiene un valore che indica se la stringa di espressione è valida.

ServiceProvider

Ottiene l'implementazione del provider di servizi utilizzata dalla pagina dell'editor di espressioni.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetExpression()

Se sottoposto a override in una classe derivata, restituisce la stringa di espressione formata dai valori della proprietà della pagina dell'editor di espressioni.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche