TextChangedEventArgs.Changes Właściwość

Definicja

Pobiera kolekcję obiektów, które zawierają informacje o zmianach, które wystąpiły.

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)

Wartość właściwości

Kolekcja obiektów zawierających informacje o zmianach, które wystąpiły.

Uwagi

Istnieje jeden TextChange obiekt dla każdej kolejnej zmiany kontrolki. Podczas jednego wystąpienia TextChanged zdarzenia może wystąpić więcej niż jedna kolejna zmiana, gdy zmiana pociąga za sobą zmianę struktury dokumentu bazowego.

Załóżmy na przykład, że element RichTextBox zawiera ciąg "This is some text." Struktura obiektu RichTextBox.Document to <Paragraph><Run>This is some text.</Run></Paragraph>. Jeśli użytkownik pogrubia wyrazy "is some", struktura bazowego FlowDocument zmienia się na <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>. Istnieją cztery zmiany, które miały miejsce w wyniku akcji użytkownika:

  1. Symbol <Run> zostanie usunięty i dodany ponownie przed wyrazem This.

  2. Symbole </Run><Run> są dodawane po słowie This.

  3. Symbole </Run><Run> są dodawane po słowie some.

  4. Symbol </Run> zostanie usunięty i dodany ponownie po słowie Text.

Ogólnie rzecz biorąc, zawsze będą spełnione następujące warunki:

  • Zmiany, które występują, powodują, że dokument jest w prawidłowym stanie.

  • Kolekcja jest kolejna, powiązana z miejscem, w którym nastąpiła zmiana w kontrolce. Na przykład obiekt reprezentujący TextChange zmianę na pozycji 2 jest przed obiektem TextChange reprezentującym zmianę na pozycji 10.

  • Dwa TextChange obiekty nie reprezentują nakładającego się obszaru. Wartość Offset plus wartość AddedLength jednego TextChange obiektu jest zawsze mniejsza lub równa wartości Offset następnego TextChange obiektu w kolekcji. Podobnie wartość Offset plus wartość RemovedLength jednego TextChange obiektu jest zawsze mniejsza lub równa wartości Offset następnego TextChange obiektu w kolekcji.

  • Kolekcja odzwierciedla zmiany, nawet jeśli wydaje się, że nie ma żadnych zmian netto. W poprzednim przykładzie żadna pierwsza lub czwarta zmiana nie powoduje zmiany netto, ponieważ każda po prostu usunęła i ponownie dodała <Run> odpowiednio symbole i </Run> . Symbole zostały jednak w rzeczywistości usunięte i dodane, więc są one uwzględnione w kolekcji.

TextChanged Jeśli zdarzenie występuje w wyniku zmiany właściwości, Changes jest pustą kolekcją. W poprzednim przykładzie, jeśli użytkownik pogrubi cały ciąg, FontWeight właściwość Run obiektu jest ustawiona na Bold, ale nic nie zostanie dodane lub usunięte z dokumentu, więc Changes jest puste.

Changesjest wprowadzana w .NET Framework w wersji 3.5. Aby uzyskać więcej informacji, zobacz Wersje i zależności.

Dotyczy