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.