Window.SizeChanged Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при первом отрисовке окна приложения или изменении размера отрисовки.
// 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)
Тип события
TypedEventHandler<IInspectable,WindowSizeChangedEventArgs>
Комментарии
Это событие возникает при каждом изменении значений границ для окна приложения. Это может быть связано с тем, что пользователь изменяет размер приложения или ориентацию экрана. Другой триггер заключается в том, что пользователь перемещает приложение на новый дисплей с другим разрешением и окно приложения расширяется, чтобы заполнить его.
Window.SizeChanged
— это событие, которое необходимо обработать, чтобы обнаружить, что пользователь намеренно изменил размер приложения или повернул дисплей на компьютере, который определяет ориентацию. Вы можете обнаружить, что окно приложения изменилось с альбомной на книжную или наоборот. Ориентация окна приложения может влиять на то, как должны отображаться отдельные элементы управления в окне приложения. Например, может потребоваться отобразить списки данных в ListView для книжной ориентации, а в GridView — для альбомной ориентации. Как правило, вы сравниваете отношение Window.Current.Bounds.Width
к Window.Current.Bounds.Height
, чтобы определить ориентацию на основе границ, и вы делаете это всякий раз Window.SizeChanged
, когда срабатывает. Точно, как вы интерпретируете соотношение ширины и высоты, за вами.
При присоединении обработчиков для Window.SizeChanged
на уровне Страницы в обработчике события FrameworkElement.Loaded эти обработчики следует отсоединить в обработчике событий FrameworkElement.Unloaded от этой страницы. Экземпляр Window.Current остается активным между переходами по страницам и должен иметь только обработчик для самого актуального кода страницы.
Обработчик Window.SizeChanged
не является способом принудительного применения минимального размера приложения. Это управляется манифестом приложения. Однако ваша логика изменения визуальных состояний должна иметь возможность загрузить состояние, предназначенное для минимальной ширины, и вы обычно используете значения Границы и Window.SizeChanged
обработку, чтобы определить, когда окно приложения использует минимальную ширину.
Дополнительные сведения об использовании Window.SizeChanged для обнаружения изменений в среде окна приложения и загрузки соответствующих визуальных состояний для приложения см. в статье Адаптивные макеты с помощью XAML.
Существует еще одно событие с именем SizeChanged , которое существует в производных типах FrameworkElement (Window не является типом FrameworkElement ). События FrameworkElement.SizeChanged могут возникать во многих случаях, которые вызывают Window.SizeChanged
срабатывание. Изменение размера окна приложения может привести к изменению размера корневого визуального элемента (обычно страницы или панели). Это задает каскад недействительности макета для всех вложенных элементов, использующих адаптивный макет для заполнения доступного пространства. Каждый элемент, имеющий новые измерения из-за прохода макета, будет запускать собственное событие FrameworkElement.SizeChanged .