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 以上的連續變更。
例如,假設 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
之後重新新增。
一般而言,下列一律為 true:
發生的變更會導致檔處於有效狀態。
集合會連續排序,與控制項中發生變更的位置相關。 例如, TextChange 代表位置 2 之變更的 物件是在代表位置 10 變更的 物件之前 TextChange 。
兩 TextChange 個 物件不代表重迭的區域。 的值加上一個 物件的值 OffsetAddedLength 一律小於或等於集合中下一 TextChange 個 TextChange 物件的值 Offset 。 同樣地,的值加上一個物件的值 Offset 一律小於或等於集合中下一個 TextChangeTextChange 物件的值 Offset 。 RemovedLength
集合會反映發生的任何變更,即使似乎沒有淨變更也一樣。 在上述範例中,第一個或第四項變更都不會產生淨變更,因為每個變更都只會分別移除並重新新增
<Run>
和</Run>
符號。 但符號實際上已移除並新增,因此它們會包含在集合中。
TextChanged如果事件因屬性變更而發生, Changes 則為空集合。 在上述範例中,如果使用者將整個字串設為粗體,則 FontWeightRun 的 屬性會設定為 Bold ,但檔中不會新增或移除任何專案,因此 Changes 是空的。
Changes.NET Framework 3.5 版引進。 如需詳細資訊,請參閱版本和相依性。