共用方式為


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 發生多次連續變更。

例如,假設 a 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 變化的物體,位於代表位置 10 變化的物體之前 TextChange

  • 兩個 TextChange 物體並不代表重疊的區域。 的Offset值加上一個TextChange物件的AddedLength值,總是小於或等於集合中下一個TextChange物件的值Offset。 同理,集合中下一個物件的值加 的OffsetRemovedLengthTextChange值總是小於或等於集合中下一個TextChange物件的值。Offset

  • 該收藏反映了所有變動,即使看起來沒有淨變化。 在前述範例中,第一次或第四次變更都不會產生淨變化,因為他們分別只是移除並重新加入 <Run></Run> 符號。 但這些符號實際上被移除並加入,因此被納入收藏中。

TextChanged 事件因性質變更而發生, Changes 則為空集合。 在前述範例中,若使用者將整串加粗,則 FontWeightRun 屬性設為 Bold,但文件中未新增或移除任何內容,因此 Changes 為空。

Changes 在 .NET Framework 3.5 版本中引入。 欲了解更多資訊,請參閱 版本與相依關係。

適用於