Condividi tramite


RichEditBox.CandidateWindowBoundsChanged Evento

Definizione

Si verifica quando viene aperta, aggiornata o chiusa la finestra dell'editor dei metodi di input (IME).

// Register
event_token CandidateWindowBoundsChanged(TypedEventHandler<RichEditBox, CandidateWindowBoundsChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void CandidateWindowBoundsChanged(event_token const* cookie) const;

// Revoke with event_revoker
RichEditBox::CandidateWindowBoundsChanged_revoker CandidateWindowBoundsChanged(auto_revoke_t, TypedEventHandler<RichEditBox, CandidateWindowBoundsChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<RichEditBox,CandidateWindowBoundsChangedEventArgs> CandidateWindowBoundsChanged;
function onCandidateWindowBoundsChanged(eventArgs) { /* Your code */ }
richEditBox.addEventListener("candidatewindowboundschanged", onCandidateWindowBoundsChanged);
richEditBox.removeEventListener("candidatewindowboundschanged", onCandidateWindowBoundsChanged);
- or -
richEditBox.oncandidatewindowboundschanged = onCandidateWindowBoundsChanged;
Public Custom Event CandidateWindowBoundsChanged As TypedEventHandler(Of RichEditBox, CandidateWindowBoundsChangedEventArgs) 
<RichEditBox CandidateWindowBoundsChanged="eventhandler" />

Tipo evento

Esempio

In questo caso, un rettangolo viene posizionato sotto un controllo RichEditBox. Quando i limiti della finestra Input Method Editor (IME) cambiano, il margine inferiore del controllo RichEditBox viene aumentato in base all'altezza della finestra candidata input Method Editor (IME). Di conseguenza, il rettangolo viene spostato verso il basso da tale importo e non è coperto dalla finestra candidata.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel>
        <RichEditBox x:Name="editBox1" Width="300" HorizontalAlignment="Left" 
                 DesiredCandidateWindowAlignment="BottomEdge"
                 CandidateWindowBoundsChanged="OnCandidateWindowBoundsChanged"/>
        <Rectangle Height="100" Width="100" Fill="Red" 
                   HorizontalAlignment="Left"/>
    </StackPanel>
</Grid> 
private void OnCandidateWindowBoundsChanged(RichEditBox sender, CandidateWindowBoundsChangedEventArgs args) 
{ 
    editBox1.Margin = new Thickness 
    { 
        Left = 0, 
        Top = 0, 
        Right = 0, 
        Bottom = Math.Max(0, args.Bounds.Bottom - editBox1.ActualHeight) 
    };
} 

Commenti

Per i dati dell'evento, vedere CandidateWindowBoundsChangedEventArgs.

Gli utenti a volte immettono testo tramite un IME (Input Method Editor) che viene visualizzato in una finestra appena sotto una casella di input di testo (in genere per le lingue dell'Asia orientale). La finestra Input Method Editor (IME) può coprire parti importanti dell'interfaccia utente dell'app che l'utente potrebbe dover visualizzare durante l'immissione di testo. Questo evento notifica all'app le coordinate in cui è attualmente visualizzata la finestra Input Method Editor (IME). Puoi usare queste informazioni per disegnare l'interfaccia utente in una posizione che non è in conflitto con la finestra Input Method Editor (IME).

È anche possibile utilizzare la proprietà DesiredCandidateWindowAlignment per specificare una posizione preferita della finestra IME (Input Method Editor) in relazione alla casella di input di testo.

Si applica a

Vedi anche