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>. В результате действий пользователя произошли четыре изменения:
Символ
<Run>удаляется и добавляется перед словомThis.Символы
</Run><Run>добавляются после словаThis.Символы
</Run><Run>добавляются после словаsome.Символ
</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.