RichEditBox.CandidateWindowBoundsChanged Событие

Определение

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

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

Тип события

Примеры

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

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

Комментарии

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

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

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

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

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