RichEditBox.CandidateWindowBoundsChanged Ereignis

Definition

Tritt auf, wenn das Fenster Eingabemethoden-Editor (IME) geöffnet, aktualisiert oder geschlossen wird.

// 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" />

Ereignistyp

Beispiele

Hier wird ein Rechteck unter einer RichEditBox platziert. Wenn sich die Grenzen des Eingabemethoden-Editors (IME)-Fensters ändern, wird der untere Rand des RichEditBox-Fensters um die Höhe des ImE-Kandidatenfensters (Input Method Editor) erhöht. Infolgedessen wird das Rechteck durch diesen Betrag nach unten gedrückt und wird nicht vom Kandidatenfenster abgedeckt.

<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) 
    };
} 

Hinweise

Ereignisdaten finden Sie unter CandidateWindowBoundsChangedEventArgs.

Benutzer geben manchmal Text über einen Eingabemethoden-Editor (IME) ein, der in einem Fenster direkt unter einem Texteingabefeld angezeigt wird (in der Regel für ostasiatische Sprachen). Das Fenster Eingabemethoden-Editor (IME) kann wichtige Teile Ihrer App-Benutzeroberfläche abdecken, die der Benutzer möglicherweise bei der Eingabe von Text sehen muss. Dieses Ereignis benachrichtigt Ihre App über die Koordinaten, in denen derzeit das Fenster Eingabemethoden-Editor (IME) angezeigt wird. Sie können diese Informationen verwenden, um Ihre Benutzeroberfläche an einem Speicherort zu zeichnen, der nicht mit dem Fenster Eingabemethoden-Editor (IME) in Konflikt kommt.

Sie können auch die DesiredCandidateWindowAlignment-Eigenschaft verwenden, um eine bevorzugte Platzierung des ImE-Fensters (Input Method Editor) in Bezug auf das Texteingabefeld anzugeben.

Gilt für:

Weitere Informationen