TextChangedEventArgs.Changes Proprietà

Definizione

Ottiene un insieme di oggetti contenenti informazioni riguardo alle modifiche che si sono verificate.

public:
 property System::Collections::Generic::ICollection<System::Windows::Controls::TextChange ^> ^ Changes { System::Collections::Generic::ICollection<System::Windows::Controls::TextChange ^> ^ get(); };
public System.Collections.Generic.ICollection<System.Windows.Controls.TextChange> Changes { get; }
member this.Changes : System.Collections.Generic.ICollection<System.Windows.Controls.TextChange>
Public ReadOnly Property Changes As ICollection(Of TextChange)

Valore della proprietà

Insieme di oggetti contenenti informazioni riguardo alle modifiche che si sono verificate.

Commenti

Per ogni modifica consecutiva al controllo è presente un TextChange oggetto. Più di una modifica consecutiva può verificarsi durante un'occorrenza dell'evento TextChanged quando la modifica comporta la modifica della struttura del documento sottostante.

Si supponga, ad esempio, che un RichTextBox oggetto contenga la stringa "This is some text." La struttura dell'oggetto RichTextBox.Document è <Paragraph><Run>This is some text.</Run></Paragraph>. Se l'utente grassetto le parole "is some", la struttura delle modifiche sottostanti FlowDocument a <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>. Esistono in realtà quattro modifiche che sono state eseguite in seguito all'azione dell'utente:

  1. Il <Run> simbolo viene rimosso e aggiunto nuovamente prima della parola This.

  2. I simboli </Run><Run> vengono aggiunti dopo la parola This.

  3. I simboli </Run><Run> vengono aggiunti dopo la parola some.

  4. Il </Run> simbolo viene rimosso e aggiunto nuovamente dopo la parola Text.

In generale, i seguenti saranno sempre veri:

  • Le modifiche che si verificano comportano nel documento in uno stato valido.

  • La raccolta viene ordinata consecutivamente, correlata alla posizione in cui si è verificata la modifica nel controllo. Ad esempio, un TextChange oggetto che rappresenta una modifica nella posizione 2 è prima di un TextChange oggetto che rappresenta una modifica nella posizione 10.

  • Due TextChange oggetti non rappresentano un'area sovrapposta. Il valore di Offset più il valore di AddedLength un TextChange oggetto è sempre minore o uguale al valore dell'oggetto Offset successivo TextChange nell'insieme. Analogamente, il valore di Offset più il valore di RemovedLength un TextChange oggetto è sempre minore o uguale al valore dell'oggetto Offset successivo TextChange nell'insieme.

  • La raccolta riflette le modifiche apportate, anche se non ci sono modifiche nette. Nell'esempio precedente, né il primo o il quarto cambiamento generano una modifica netto, perché ogni modifica è stata semplicemente rimossa e riaggiaggiata rispettivamente i <Run> simboli e </Run> . Ma i simboli sono stati effettivamente rimossi e aggiunti, quindi sono inclusi nella raccolta.

Se l'evento TextChanged si verifica come risultato di una modifica della proprietà, Changes è una raccolta vuota. Nell'esempio precedente, se l'utente esegue il grassetto dell'intera stringa, la FontWeight proprietà dell'oggetto Run è impostata su Bold, ma non viene aggiunto o rimosso dal documento, quindi Changes è vuoto.

Changes viene introdotto in .NET Framework versione 3.5. Per altre informazioni, vedere Versioni e dipendenze.

Si applica a