Domanda

Non capisco la classe TextCompositionEventArgs.

Esistono membri di tipo stringa denominati ControlText, SystemText, Text. Quindi c'è un campo TextConmposistion che a sua volta contiene nuovamente i membri ControlText, SystemText e Text e inoltre i campi SystemCompositionText e CompositionText.

public class TextCompositionEventArgs : InputEventArgs
{
  ..
  public string ControlText { get; }
  public string SystemText { get; }
  public string Text { get; }
  public TextComposition TextComposition { get; }
}

public class TextComposition : DispatcherObject
{
  ..
  public string CompositionText { get; protected set; }
  public string ControlText { get; protected set; }
  public string SystemCompositionText { get; protected set; }
  public string SystemText { get; protected set; }
  public string Text { get; protected set; }
}

Entrambi i membri di testo sembrano contenere il testo digitato con la tastiera, tutti gli altri campi contengono stringhe vuote.

In che modo differiscono questi campi e a cosa servono?

È stato utile?

Soluzione

TextCompositionEventArgs si occupa delle modifiche durante la composizione del testo, quindi ha molte proprietà che si occupano del testo e di ciò che sta specificamente cambiando, e il modo in cui lo usi dipende da quali eventi stai gestendo.

Le cose di base da capire:

  • Testo: contiene il testo effettivo che ha causato l'evento, normalmente il testo digitato dall'utente

  • SystemText: contiene eventi di testo di sistema, ovvero: se premi Alt + lettera, vedrai l'evento qui. Normalmente si tratta di sequenze di tasti che non influiscono sul testo in un controllo come una casella di testo.

  • ControlText: si tratta di eventi di testo di controllo, ovvero: se premi Ctrl + lettera, lo vedrai qui. Simile a SystemText.

Normalmente, se stai solo cercando il testo " testo " eventi, ti consigliamo di guardare il " Testo " proprietà. Per i dettagli, consultare la Panoramica dell'input .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top