TextBox.CandidateWindowBoundsChanged 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當輸入法編輯器 (輸入法) 視窗開啟、更新或關閉時發生。
// 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 屬性來指定輸入法編輯器的慣用位置, (輸入法) 視窗相對於文字輸入方塊。