TextChangedEventArgs.Changes プロパティ

定義

発生した変更に関する情報を格納するオブジェクトのコレクションを取得します。Gets a collection of objects that contains information about the changes that occurred.

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)

プロパティ値

発生した変更に関する情報を格納するオブジェクトのコレクション。A collection of objects that contains information about the changes that occurred.

注釈

コントロールが連続して変更されるたびに、1つの @no__t 0 オブジェクトがあります。There is one TextChange object for each consecutive change to the control. 変更によって基になるドキュメントの構造が変更される場合、TextChanged イベントが発生するたびに複数の連続した変更が発生することがあります。More than one consecutive change can occur during one occurrence of the TextChanged event when the change entails changing the structure of the underlying document.

たとえば、RichTextBox に文字列が含まれているとします。-1 の場合、RichTextBox.Document の構造は <Paragraph><Run>This is some text.</Run></Paragraph> @no__t ます。For example, suppose that a RichTextBox contains the string "This is some text." The structure of the RichTextBox.Document is <Paragraph><Run>This is some text.</Run></Paragraph>. ユーザーが "is some" という単語を太字にすると、基になる @no__t の構造は <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph> に変更されます。If the user bolds the words "is some", the structure of the underlying FlowDocument changes to <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>. 実際には、ユーザーの操作の結果として、次の4つの変更が行われています。There are actually four changes that took place as a result of the user's action:

  1. @No__t-0 シンボルが削除され、単語 This の前に再追加されます。The <Run> symbol is removed and re-added before the word This.

  2. 記号 </Run><Run> は、This の後に追加されます。The symbols </Run><Run> are added after the word This.

  3. 記号 </Run><Run> は、some の後に追加されます。The symbols </Run><Run> are added after the word some.

  4. @No__t-0 シンボルが削除され、Text という単語の後に再度追加されます。The </Run> symbol is removed and re-added after the word Text.

一般に、次のような場合は常に true になります。In general, the following will always be true:

  • 変更が発生すると、ドキュメントが有効な状態になります。The changes that occur result in the document being in a valid state.

  • コレクションは、コントロール内で変更が発生した場所に関連して、連続して並べ替えられます。The collection is ordered consecutively, related to where the change occurred in the control. たとえば、位置2の変更を表す @no__t 0 オブジェクトは、位置10での変更を表す @no__t 1 オブジェクトの前にあります。For example, a TextChange object that represents a change at position 2 is before a TextChange object that represents a change at position 10.

  • 2つの @no__t 0 オブジェクトが重複する領域を表していません。Two TextChange objects do not represent an overlapping area. @No__t-0 の値と1つの TextChange オブジェクトの AddedLength の値は、コレクション内の次の @no__t オブジェクトの @no__t の値以下であることが常にあります。The value of Offset plus the value of AddedLength of one TextChange object is always less than or equal to the value of Offset of the next TextChange object in the collection. 同様に、Offset の値と1つの TextChange オブジェクトの RemovedLength の値は、コレクション内の次の @no__t オブジェクトの @no__t の値以下であることが常にあります。Likewise, the value of Offset plus the value of RemovedLength of one TextChange object is always less than or equal to the value of Offset of the next TextChange object in the collection.

  • コレクションには、変更が行われていないように見える場合でも、どのような変更が加えられたかが反映されます。The collection reflects whatever changes occurred, even if there seems to be no net change. 前の例では、1番目または4番目の変更によって差分が変更されることはありません。これは、それぞれ <Run></Run> のシンボルを削除して再追加したためです。In the preceding example, neither the first or fourth change results in a net change, because each simply removed and re-added the <Run> and </Run> symbols, respectively. ただし、シンボルは実際には削除されて追加されているため、コレクションに含まれています。But the symbols were actually removed and added, so they are included in the collection.

プロパティの変更の結果として TextChanged イベントが発生した場合、Changes は空のコレクションになります。If the TextChanged event occurs as a result of a property change, Changes is an empty collection. 前の例では、ユーザーが文字列全体を太字にすると、Run の @no__t 0 プロパティは Bold に設定されますが、ドキュメントには何も追加または削除されないため、Changes は空です。In the preceding example, if the user bolds the entire string, the FontWeight property of the Run is set to Bold, but nothing is added or removed from the document, so Changes is empty.

Changes は .NET Framework バージョン3.5 で導入されました。Changes is introduced in the .NET Framework version 3.5. 詳細については、「.NET Framework のバージョンおよび依存関係」を参照してください。For more information, see Versions and Dependencies.

適用対象