TextChangedEventArgs.Changes Tulajdonság

Definíció

Olyan objektumgyűjteményt kap, amely információkat tartalmaz a bekövetkezett változásokról.

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)

Tulajdonság értéke

Objektumgyűjtemény, amely információkat tartalmaz a bekövetkezett változásokról.

Megjegyzések

A vezérlő minden egymást követő módosításához egy TextChange objektum tartozik. Az esemény egyetlen előfordulása TextChanged során több egymást követő változás is előfordulhat, ha a módosítás az alapul szolgáló dokumentum szerkezetének megváltoztatásával jár.

Tegyük fel például, hogy egy olyan sztringet RichTextBox"This is some text." tartalmaz, amely a RichTextBox.Document struktúra.<Paragraph><Run>This is some text.</Run></Paragraph> Ha a felhasználó félkövérre emeli a szavakat"is some", a mögöttes FlowDocument elemek struktúrája módosul.<Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph> A felhasználó műveletének eredményeként valójában négy módosítás történt:

  1. A <Run> rendszer eltávolítja a szimbólumot, és újból hozzáadja a szót This.

  2. A szimbólumok </Run><Run> a szó Thisután lesznek hozzáadva.

  3. A szimbólumok </Run><Run> a szó someután lesznek hozzáadva.

  4. A </Run> szimbólum el lesz távolítva, és a szó Textután újra hozzáadódik.

Általában a következők mindig igazak lesznek:

  • A végrehajtott módosítások azt eredményezik, hogy a dokumentum érvényes állapotban van.

  • A rendszer egymás után rendezi a gyűjteményt, amely ahhoz kapcsolódik, hogy hol történt a változás a vezérlőben. Például egy TextChange olyan objektum, amely a 2. pozícióban változást jelöl, egy TextChange olyan objektum előtt van, amely a 10. pozícióban bekövetkező változást jelöli.

  • Két TextChange objektum nem jelöl átfedésben lévő területet. A plusz egy objektum értéke OffsetAddedLengthTextChange mindig kisebb vagy egyenlő, mint a gyűjtemény következő TextChange objektumának Offset értéke. Hasonlóképpen, a Offset plusz egy objektum értéke RemovedLengthTextChange mindig kisebb vagy egyenlő, mint a gyűjtemény következő TextChange objektumának Offset értéke.

  • A gyűjtemény minden változást tükröz, még akkor is, ha úgy tűnik, hogy nincs nettó változás. Az előző példában sem az első, sem a negyedik változás nem eredményez nettó változást, mivel mindegyik egyszerűen el lett távolítva, és </Run> újra hozzáadta a <Run> szimbólumokat. A szimbólumok azonban ténylegesen el lettek távolítva és hozzáadva, így bekerülnek a gyűjteménybe.

Ha az TextChanged esemény egy tulajdonságváltozás eredményeként következik be, Changes akkor üres gyűjtemény. Az előző példában, ha a felhasználó félkövérre állítja a teljes sztringet, a FontWeightRun tulajdonság értéke a következő lesz Bold, de a program nem ad hozzá vagy távolít el semmit a dokumentumból, így Changes üres.

Changes a .NET-keretrendszer 3.5-ös verziójában kerül bevezetésre. További információ: Verziók és függőségek.

A következőre érvényes: