TextChangedEventArgs.Changes Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém uma coleção de objetos que contém informações sobre as alterações que ocorreram.
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)
Valor da propriedade
Uma coleção de objetos que contém informações sobre as alterações que ocorreram.
Comentários
Há um TextChange objeto para cada alteração consecutiva no controle. Mais de uma alteração consecutiva pode ocorrer durante uma ocorrência do TextChanged evento quando a alteração envolve alterar a estrutura do documento subjacente.
Por exemplo, suponha que um RichTextBox contenha a cadeia "This is some text."
de caracteres A estrutura do RichTextBox.Document é <Paragraph><Run>This is some text.</Run></Paragraph>
. Se o usuário negrito as palavras "is some"
, a estrutura do subjacente FlowDocument será alterada para <Paragraph><Run>This </Run><Run FontWeight="Bold">is some</Run><Run> text.</Run></Paragraph>
. Na verdade, há quatro alterações que ocorreram como resultado da ação do usuário:
O
<Run>
símbolo é removido e adicionado novamente antes da palavraThis
.Os símbolos são adicionados
</Run><Run>
após a palavraThis
.Os símbolos são adicionados
</Run><Run>
após a palavrasome
.O
</Run>
símbolo é removido e adicionado novamente após a palavraText
.
Em geral, o seguinte sempre será verdadeiro:
As alterações que ocorrem fazem com que o documento esteja em um estado válido.
A coleção é ordenada consecutivamente, relacionada ao local em que a alteração ocorreu no controle . Por exemplo, um TextChange objeto que representa uma alteração na posição 2 é antes de um TextChange objeto que representa uma alteração na posição 10.
Dois TextChange objetos não representam uma área sobreposta. O valor de Offset mais o valor de AddedLength um TextChange objeto é sempre menor ou igual ao valor do Offset próximo TextChange objeto na coleção. Da mesma forma, o valor de Offset mais o valor de RemovedLength um TextChange objeto é sempre menor ou igual ao valor do Offset próximo TextChange objeto na coleção.
A coleção reflete as alterações que ocorreram, mesmo que não pareça haver nenhuma alteração líquida. No exemplo anterior, nem a primeira ou a quarta alteração resultam em uma alteração líquida, porque cada uma simplesmente removeu e adicionou novamente os
<Run>
símbolos e</Run>
, respectivamente. Mas os símbolos foram realmente removidos e adicionados, portanto, eles são incluídos na coleção.
Se o TextChanged evento ocorrer como resultado de uma alteração de propriedade, Changes será uma coleção vazia. No exemplo anterior, se o usuário negrito a cadeia de caracteres inteira, a FontWeight propriedade do Run é definida Boldcomo , mas nada é adicionado ou removido do documento, portanto Changes , está vazia.
Changesé introduzido no .NET Framework versão 3.5. Para saber mais, confira Versões e dependências.