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)
プロパティ値
発生した変更に関する情報を格納するオブジェクトのコレクション。
注釈
コントロールに対する連続する変更ごとに 1 つの TextChange オブジェクトがあります。 1 回のイベント発生時に、基になるドキュメントの構造を TextChanged 変更する必要がある場合、複数の連続する変更が発生する可能性があります。
たとえば、 に文字列がRichTextBox含まれているとします。 のRichTextBox.Document構造体は です<Paragraph><Run>This is some text.</Run></Paragraph>
。"This is some text."
ユーザーが という単語 "is some"
を太字にした場合、基になる FlowDocument の構造は に <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>
変わります。 実際には、ユーザーの操作の結果として 4 つの変更が行われました。
<Run>
記号が削除され、単語This
の前に再追加されます。記号は、
</Run><Run>
という単語This
の後に追加されます。記号は、
</Run><Run>
という単語some
の後に追加されます。</Run>
記号が削除され、単語Text
の後に再追加されます。
一般に、次のことが常に当てはまります。
変更が発生すると、ドキュメントは有効な状態になります。
コレクションは、コントロール内の変更が発生した場所に関連して、連続して順序付けされます。 たとえば、 TextChange 位置 2 の変化を表すオブジェクトは、位置 10 の変化を TextChange 表すオブジェクトの前にあります。
2 つの TextChange オブジェクトは、重複する領域を表しません。 の値Offsetに 1 つのTextChangeオブジェクトのAddedLength値を加えた値は、常にコレクション内の次TextChangeのオブジェクトのOffset値以下です。 同様に、 のOffset値に 1 つのTextChangeオブジェクトのRemovedLength値を加算すると、常にコレクション内の次TextChangeのオブジェクトのOffset値以下になります。
コレクションには、ネット変更がない場合でも、発生した変更が反映されます。 前の例では、1 つ目と 4 番目の変更のどちらも、それぞれ を削除してシンボルと
</Run>
シンボルを再追加<Run>
するだけであるため、ネット変更は発生しません。 しかし、シンボルは実際に削除され、追加されたので、それらはコレクションに含まれています。
プロパティの TextChanged 変更の結果としてイベントが発生した場合、 Changes は空のコレクションです。 前の例では、ユーザーが文字列全体を太字にした場合、 FontWeight の Run プロパティは に Bold設定されますが、ドキュメントに何も追加または削除されないため Changes 、空になります。
Changesは、.NET Framework バージョン 3.5 で導入されています。 詳細については、「.NET Framework のバージョンおよび依存関係」を参照してください。
適用対象
.NET