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 屬性來指定輸入法 編輯器 (輸入法) 視窗相對於文字輸入方塊的慣用位置。

適用於

另請參閱