TextBox.CandidateWindowBoundsChanged Событие

Определение

Происходит при открытии, обновлении или закрытии окна редактора метода ввода (IME).

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

Тип события

Примеры

Здесь прямоугольник размещается под элементом TextBox. При изменении границ окна редактора метода ввода (IME) нижнее полеэлемента TextBox увеличивается на высоту окна-кандидата редактора методов ввода (IME). В результате прямоугольник перемещается вниз на эту величину и не покрывается окном-кандидатом.

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

Комментарии

Сведения о событиях см. в разделе CandidateWindowBoundsChangedEventArgs.

Иногда пользователи вводит текст с помощью редактора метода ввода (IME), который отображается в окне под полем ввода текста (обычно для восточноазиатских языков). Окно редактора метода ввода (IME) может охватывать важные части пользовательского интерфейса приложения, которые могут потребоваться пользователю при вводе текста. Это событие уведомляет приложение о координатах, в которых в настоящее время отображается окно редактора метода ввода (IME). Эти сведения можно использовать для рисования пользовательского интерфейса в расположении, которое не конфликтует с окном редактора метода ввода (IME).

Вы также можете использовать свойство DesiredCandidateWindowAlignment , чтобы указать предпочтительное размещение окна редактора метода ввода (IME) относительно текстового поля ввода.

Применяется к

См. также раздел