Partilhar via


Window.SizeChanged Evento

Definição

Ocorre quando a janela do aplicativo foi renderizada pela primeira vez ou alterou seu tamanho de renderização.

// Register
event_token SizeChanged(TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void SizeChanged(event_token const* cookie) const;

// Revoke with event_revoker
Window::SizeChanged_revoker SizeChanged(auto_revoke_t, TypedEventHandler<IInspectable, WindowSizeChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<object,WindowSizeChangedEventArgs> SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As TypedEventHandler(Of Object, WindowSizeChangedEventArgs) 

Tipo de evento

Comentários

Esse evento ocorre sempre que há alterações nos valores Delimitadores para a janela do aplicativo. Isso pode ocorrer porque o usuário redimensiona seu aplicativo ou altera a orientação de exibição. Outro gatilho é se o usuário move seu aplicativo para uma nova tela que tem uma resolução diferente e a janela do aplicativo se expande para preenchê-lo.

Window.SizeChanged é o evento a ser manipulado para detectar que o usuário redimensionou deliberadamente seu aplicativo ou girou a exibição em um computador que detecta a orientação. Talvez você queira detectar que a janela do aplicativo mudou de orientação paisagem para retrato ou vice-versa. A orientação da janela do aplicativo pode influenciar como você deseja que os controles individuais na janela do aplicativo apareçam. Por exemplo, talvez você queira exibir listas de dados em um ListView para orientação retrato, mas em um GridView para orientação paisagem. Normalmente, você compara a proporção de Window.Current.Bounds.Width para Window.Current.Bounds.Height para determinar a orientação com base nos Limites e faria isso sempre que Window.SizeChanged fosse acionado. Exatamente como você interpreta as taxas de largura/altura cabe a você.

Se você estiver anexando manipuladores para Window.SizeChanged no nível de página dentro de um manipulador para o evento FrameworkElement.Loaded , desanexe esses manipuladores em um manipulador de eventos FrameworkElement.Unloaded dessa Página. A instância Window.Current permanece ativa entre as navegaçãos de página e deve ter apenas um manipulador ativo para o código de página mais atual.

Um Window.SizeChanged manipulador não é como você impõe o tamanho mínimo ao qual seu aplicativo pode ser redimensionado. Isso é controlado pelo manifesto do aplicativo. No entanto, sua lógica para alterar os estados visuais deve ser capaz de carregar um estado projetado para a largura mínima que você pretendia, e você normalmente usaria os valores de Limites e Window.SizeChanged manipulação para detectar quando a janela do aplicativo está usando a largura mínima.

Para obter mais informações sobre como usar Window.SizeChanged para detectar alterações no ambiente da janela do aplicativo e carregar os estados visuais apropriados para seu aplicativo, consulte Layouts responsivos com XAML.

Há outro evento chamado SizeChanged que existe em tipos derivados de FrameworkElement (Window não é um tipo FrameworkElement ). Os eventos FrameworkElement.SizeChanged podem ser acionados em muitas das mesmas circunstâncias que causam Window.SizeChanged o incêndio. Uma alteração no tamanho da janela do aplicativo pode fazer com que o elemento visual raiz (normalmente uma Página ou um painel) altere seu tamanho. Isso define uma cascata de invalidações de layout para todos os subelementos que estão usando o layout adaptável para preencher o espaço disponível. Cada elemento que tem novas dimensões devido a uma passagem de layout disparará seu próprio evento FrameworkElement.SizeChanged .

Aplica-se a

Confira também