TextChangedEventArgs.Changes Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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:
A
<Run>rendszer eltávolítja a szimbólumot, és újból hozzáadja a szótThis.A szimbólumok
</Run><Run>a szóThisután lesznek hozzáadva.A szimbólumok
</Run><Run>a szósomeután lesznek hozzáadva.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.