Поделиться через


TextChangedEventArgs.Changes Свойство

Определение

Получает коллекцию объектов, которая содержит сведения о произошедших изменениях.

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)

Значение свойства

Коллекция объектов, которая содержит сведения о произошедших изменениях.

Комментарии

Для каждого последовательного изменения элемента управления имеется один TextChange объект . Во время одного события TextChanged может произойти несколько последовательных изменений, когда это изменение влечет за собой изменение структуры базового документа.

Например, предположим RichTextBox , что содержит строку "This is some text." Структура RichTextBox.Document объекта имеет значение <Paragraph><Run>This is some text.</Run></Paragraph>. Если пользователь начертает полужирным шрифтом слова "is some", структура базового FlowDocument элемента меняется на <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>. В результате действий пользователя произошли четыре изменения:

  1. Символ <Run> удаляется и добавляется перед словом This.

  2. Символы </Run><Run> добавляются после слова This.

  3. Символы </Run><Run> добавляются после слова some.

  4. Символ </Run> удаляется и добавляется после слова Text.

Как правило, всегда выполняется следующее:

  • Изменения, которые происходят, приводят к тому, что документ будет находиться в допустимом состоянии.

  • Коллекция упорядочена последовательно, что связано с местом изменения в элементе управления . Например, объект , TextChange представляющий изменение в позиции 2, находится перед TextChange объектом, который представляет изменение в позиции 10.

  • Два TextChange объекта не представляют перекрывающиеся области. Значение Offset плюс значение AddedLength одного TextChange объекта всегда меньше или равно значению Offset следующего TextChange объекта в коллекции. Аналогичным образом, значение Offset плюс значение RemovedLength одного TextChange объекта всегда меньше или равно значению Offset следующего TextChange объекта в коллекции.

  • Коллекция отражает все произошедшие изменения, даже если кажется, что нет никаких чистых изменений. В предыдущем примере ни первое, ни четвертое изменение не приводит к чистому изменению, так как каждый из них просто удаляет и повторно добавляет <Run> символы и </Run> соответственно. Но символы были на самом деле удалены и добавлены, поэтому они включены в коллекцию.

TextChanged Если событие возникает в результате изменения свойства, Changes является пустой коллекцией. В предыдущем примере, если пользователь начертает всю строку полужирным шрифтом, FontWeight свойству Run присваивается значение Bold, но ничего не добавляется или не удаляется из документа, поэтому Changes он пуст.

Changesпредставлен в платформа .NET Framework версии 3.5. Дополнительные сведения см. в статье Версии и зависимости платформы .NET Framework.

Применяется к