TextBox.CandidateWindowBoundsChanged Evento
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Ocorre quando a janela IME (Editor de Método de Entrada) abre, atualiza ou fecha.
// 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" />
Tipo de evento
Exemplos
Aqui, um retângulo é colocado abaixo de um TextBox. Quando os limites da janela do IME (Editor de Método de Entrada) são alterados, a margem inferior da TextBox é aumentada pela altura da janela candidata do IME (Editor de Método de Entrada). Como resultado, o retângulo é pressionado por esse valor e não é coberto pela janela candidata.
<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)
};
}
Comentários
Para obter dados de evento, consulte CandidateWindowBoundsChangedEventArgs.
Às vezes, os usuários inserem texto por meio de um IME (Editor de Método de Entrada) que aparece em uma janela logo abaixo de uma caixa de entrada de texto (normalmente para idiomas do Leste Asiático). A janela IME (Editor de Método de Entrada) pode abranger partes importantes da interface do usuário do aplicativo que o usuário pode precisar ver ao inserir texto. Esse evento notifica seu aplicativo sobre as coordenadas em que a janela IME (Editor de Método de Entrada) é exibida no momento. Você pode usar essas informações para desenhar sua interface do usuário em um local que não está em conflito com a janela IME (Editor de Método de Entrada).
Você também pode usar a propriedade DesiredCandidateWindowAlignment para especificar um posicionamento preferencial da janela IME (Editor de Método de Entrada) em relação à caixa de entrada de texto.