TextChangedEventArgs.Changes 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得一組包含變更資訊的物件集合。
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>。 實際上,使用者的行為導致了四項變更:
<Run>符號會被移除並在字This詞 前重新加入。符號
</Run><Run>會加在單字This之後。符號
</Run><Run>會加在單字some之後。</Run>符號會被移除,並在單字Text後重新加入。
一般而言,以下情況永遠成立:
這些變更會使文件處於有效狀態。
收集順序依照變更發生的對照組位置依序排列。 例如, TextChange 一個代表位置 2 變化的物體,位於代表位置 10 變化的物體之前 TextChange 。
兩個 TextChange 物體並不代表重疊的區域。 的Offset值加上一個TextChange物件的AddedLength值,總是小於或等於集合中下一個TextChange物件的值Offset。 同理,集合中下一個物件的值加 的OffsetRemovedLengthTextChange值總是小於或等於集合中下一個TextChange物件的值。Offset
該收藏反映了所有變動,即使看起來沒有淨變化。 在前述範例中,第一次或第四次變更都不會產生淨變化,因為他們分別只是移除並重新加入
<Run>和</Run>符號。 但這些符號實際上被移除並加入,因此被納入收藏中。
若 TextChanged 事件因性質變更而發生, Changes 則為空集合。 在前述範例中,若使用者將整串加粗,則 FontWeight 的 Run 屬性設為 Bold,但文件中未新增或移除任何內容,因此 Changes 為空。
Changes 在 .NET Framework 3.5 版本中引入。 欲了解更多資訊,請參閱 版本與相依關係。