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) относительно текстового поля ввода.