다음을 통해 공유


TextChangedEventArgs.Changes 속성

정의

발생한 변경 내용에 대한 정보를 포함하는 개체의 컬렉션을 가져옵니다.

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)

속성 값

발생한 변경 내용에 대한 정보를 포함하는 개체의 컬렉션입니다.

설명

컨트롤을 연속으로 변경할 때마다 하나의 TextChange 개체가 있습니다. 기본 문서의 구조를 변경해야 하는 경우 이벤트가 한 번 발생하는 TextChanged 동안 둘 이상의 연속 변경이 발생할 수 있습니다.

예를 들어 문자열이 RichTextBox 들어 있다고 가정합니다."This is some text."RichTextBox.Document<Paragraph><Run>This is some text.</Run></Paragraph> 사용자가 단어를 "is some"굵게 표시하면 기본 FlowDocument 구조가 변경됩니다 <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>. 실제로 사용자의 작업으로 인해 발생한 네 가지 변경 내용이 있습니다.

  1. <Run> 기호가 제거되고 단어 This앞에 다시 추가됩니다.

  2. 기호는 </Run><Run> 단어 This다음으로 추가됩니다.

  3. 기호는 </Run><Run> 단어 some다음으로 추가됩니다.

  4. </Run> 기호가 제거되고 단어 Text후에 다시 추가됩니다.

일반적으로 다음은 항상 true입니다.

  • 변경 내용이 발생하면 문서가 유효한 상태가 될 수 있습니다.

  • 컬렉션은 컨트롤에서 변경이 발생한 위치와 관련하여 연속적으로 순서가 지정됩니다. 예를 들어 TextChange 위치 2의 변경 사항을 나타내는 개체는 위치 10의 변경 사항을 나타내는 개체 앞에 TextChange 있습니다.

  • TextChange 개체가 겹치는 영역을 나타내지 않습니다. Offset 값과 한 TextChange 개체의 AddedLength 값은 항상 컬렉션에 있는 다음 TextChange 개체의 Offset 값보다 작거나 같습니다. 마찬가지로 Offset 값과 한 TextChange 개체의 RemovedLength 값은 항상 컬렉션에 있는 다음 TextChange 개체의 Offset 값보다 작거나 같습니다.

  • 순 변경 내용이 없는 것 같더라도 컬렉션은 발생한 변경 내용을 반영합니다. 앞의 예제에서 첫 번째 또는 네 번째 변경은 각각 단순히 제거되고 기호와 </Run> 기호를 다시 추가 <Run> 하기 때문에 순 변경을 초래하지 않습니다. 그러나 기호는 실제로 제거되고 추가되었으므로 컬렉션에 포함됩니다.

TextChanged 속성 변경 Changes 의 결과로 이벤트가 발생하는 경우 빈 컬렉션입니다. 앞의 예제에서 사용자가 전체 문자열 을 굵게 표시하면 해당 속성이 />로 설정 되지만 문서에서 추가되거나 제거되지 않으므로 비어 있습니다.

Changes 는 .NET Framework 버전 3.5에 도입되었습니다. 자세한 내용은 버전 및 종속성을 참조하세요.

적용 대상