RichEditBox.CandidateWindowBoundsChanged 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當輸入法編輯器 (輸入法) 視窗開啟、更新或關閉時發生。
// 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下方。 當輸入法編輯器 (輸入法) 視窗界限變更時,RichEditBox的底部Margin會隨著輸入方法編輯器的高度 (輸入法) 候選視窗而增加。 因此,矩形會由該數量向下推送,而且候選視窗未涵蓋。
<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。
使用者有時會透過輸入法編輯器輸入文字, (輸入法) ,顯示在文字輸入方塊正下方的視窗中, (通常適用于東亞語言) 。 輸入法編輯器 (輸入法) 視窗可以涵蓋使用者在輸入文字時可能需要查看的應用程式 UI 重要部分。 此事件會通知您的應用程式輸入法編輯器 (輸入法) 視窗目前顯示的位置。 您可以使用這項資訊,在與輸入法編輯器 (輸入法) 視窗不衝突的位置中繪製 UI。
您也可以使用 DesiredCandidateWindowAlignment 屬性來指定輸入法編輯器 (輸入法) 視窗相對於文字輸入方塊的慣用位置。