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. При изменении границ окна Input Method Редактор (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) относительно текстового поля ввода.

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

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