Freigeben über


TextBox.CandidateWindowBoundsChanged Ereignis

Definition

Tritt auf, wenn das Fenster Input Method 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 Ime-Fenstergrenzen (Input Method Editor) ändern, wird der untere Rand des TextBox-Steuerelements um die Höhe des Ime-Kandidatenfensters (Input Method Editor) 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 eine Eingabemethode Editor (IME) ein, die in einem Fenster direkt unterhalb eines Texteingabefelds angezeigt wird (in der Regel für ostasiatische Sprachen). Das Fenster Eingabemethode Editor (IME) kann wichtige Teile der 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 das Fenster Eingabemethode Editor (IME) derzeit angezeigt wird. Sie können diese Informationen verwenden, um Die Benutzeroberfläche an einem Ort zu zeichnen, der nicht mit dem Fenster Eingabemethode 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