Condividi tramite


TextChangedEventArgs.Changes Proprietà

Definizione

Ottiene una raccolta di oggetti che contiene informazioni sulle modifiche apportate.

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à

Raccolta di oggetti che contiene informazioni sulle modifiche apportate.

Commenti

È presente un TextChange oggetto per ogni modifica consecutiva al controllo . Durante un'occorrenza dell'evento TextChanged possono verificarsi più modifiche consecutive 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 di RichTextBox.Document è <Paragraph><Run>This is some text.</Run></Paragraph>. Se l'utente grassetto le parole "is some", la struttura dell'oggetto sottostante FlowDocument viene modificata in <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>. In realtà sono state apportate quattro modifiche 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, quanto segue sarà sempre vero:

  • Le modifiche apportate comportano lo stato valido del documento.

  • 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 sembra che non ci siano modifiche nette. Nell'esempio precedente, né la prima o la quarta modifica comportano una modifica netta, perché ognuna ha semplicemente rimosso e aggiunto nuovamente i <Run> simboli e </Run> rispettivamente. Ma i simboli sono stati effettivamente rimossi e aggiunti, quindi sono inclusi nella raccolta.

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

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

Si applica a