TextBox.CandidateWindowBoundsChanged 事件

定义

当输入法编辑器 (输入法) 窗口打开、更新或关闭时发生。

// 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 的下方。 当输入法编辑器 (输入法) 窗口边界更改时,TextBox 的下边距将增加输入法编辑器 (输入法) 候选窗口的高度。 因此,矩形将按该量向下推,并且不由候选窗口覆盖。

<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

用户有时通过输入法编辑器 (输入法输入文本) 输入文本,该输入框显示在窗口正下方的文本输入框 (通常适用于东亚语言) 。 输入法编辑器 (输入法) 窗口可以涵盖用户输入文本时可能需要查看的应用 UI 的重要部分。 此事件通知应用输入法编辑器 (输入法) 窗口当前显示的坐标。 可以使用此信息在与输入法编辑器 (输入法) 窗口不冲突的位置绘制 UI。

还可以使用 DesiredCandidateWindowAlignment 属性指定输入法编辑器 (输入法) 窗口相对于文本输入框的首选位置。

适用于

另请参阅