Window.SizeChanged Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при первом отрисовке окна приложения или изменении размера отрисовки.
public:
virtual event WindowSizeChangedEventHandler ^ SizeChanged;
// Register
event_token SizeChanged(WindowSizeChangedEventHandler 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, WindowSizeChangedEventHandler const& handler) const;
public event WindowSizeChangedEventHandler SizeChanged;
function onSizeChanged(eventArgs) { /* Your code */ }
window.addEventListener("sizechanged", onSizeChanged);
window.removeEventListener("sizechanged", onSizeChanged);
- or -
window.onsizechanged = onSizeChanged;
Public Custom Event SizeChanged As WindowSizeChangedEventHandler
Тип события
Комментарии
Это событие возникает при изменении значений границ для окна приложения. Это может быть вызвано тем, что пользователь изменяет размер приложения или ориентацию отображения. Еще одним триггером является перемещение приложения на новый дисплей с другим разрешением и расширение окна приложения для его заполнения.
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 для обнаружения изменений в среде окна приложения и загрузки соответствующих визуальных состояний для приложения см. в статье Краткое руководство. Проектирование приложений для различных размеров окон.
Существует еще одно событие с именем SizeChanged , которое существует в производных типах FrameworkElement (Window не является типом FrameworkElement ). События FrameworkElement.SizeChanged могут возникать во многих случаях, которые вызывают срабатывание Window.SizeChanged. Изменение размера окна приложения может привести к изменению размера корневого визуального элемента (обычно страницы или панели). Это приводит к каскаду недействительности макета для всех вложенных элементов, использующих адаптивный макет для заполнения доступного пространства. Каждый элемент, имеющий новые измерения из-за прохода макета, будет запускать собственное событие FrameworkElement.SizeChanged .