TextBox.CandidateWindowBoundsChanged Ereignis

Definition

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

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

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

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

Ereignistyp

Beispiele

Hier wird ein Rechteck unter einem TextBox-Element platziert. Wenn sich die Fenstergrenzen des Eingabemethoden-Editors (IME) ändern, wird der untere Rand des TextBox-Steuerelements um die Höhe des Kandidatenfensters für Eingabemethoden-Editor (IME) erhöht. Daher wird das Rechteck um diesen Betrag gedrückt und nicht vom Kandidatenfenster abgedeckt.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <StackPanel>
        <TextBox x:Name="textBox1" Width="300" HorizontalAlignment="Left"
                 DesiredCandidateWindowAlignment="BottomEdge"
                 CandidateWindowBoundsChanged="OnCandidateWindowBoundsChanged"/>
        <Rectangle Height="100" Width="100" Fill="Red"
                   HorizontalAlignment="Left"/>
    </StackPanel>
</Grid>
private void OnCandidateWindowBoundsChanged(TextBox sender, CandidateWindowBoundsChangedEventArgs args)
{
    textBox1.Margin = new Thickness
    {
        Left = 0,
        Top = 0,
        Right = 0,
        Bottom = Math.Max(0, args.Bounds.Bottom - textBox1.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 der App-Benutzeroberfläche abdecken, die der Benutzer möglicherweise beim Eingeben von Text sehen muss. Dieses Ereignis benachrichtigt Ihre App über die Koordinaten, in denen das Fenster Eingabemethoden-Editor (IME) derzeit angezeigt wird. Sie können diese Informationen verwenden, um ihre Benutzeroberfläche an einem Ort 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 Eingabemethoden-Editor-Fensters (IME) in Bezug auf das Texteingabefeld anzugeben.

Gilt für:

Weitere Informationen