Bagikan melalui


Window.SizeChanged Kejadian

Definisi

Terjadi saat jendela aplikasi pertama kali dirender atau telah mengubah ukuran penyajiannya.

// 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) 

Jenis Acara

Keterangan

Peristiwa ini terjadi setiap kali ada perubahan dalam nilai Batas untuk jendela aplikasi. Ini mungkin karena pengguna mengubah ukuran aplikasi Anda atau mengubah orientasi tampilan. Pemicu lain adalah jika pengguna memindahkan aplikasi Anda ke tampilan baru yang memiliki resolusi berbeda dan jendela aplikasi diperluas untuk mengisinya.

Window.SizeChanged adalah peristiwa yang harus ditangani untuk mendeteksi bahwa pengguna telah dengan sengaja mengukur ukuran aplikasi Anda atau memutar tampilan pada PC yang mendeteksi orientasi. Anda mungkin ingin mendeteksi bahwa jendela aplikasi telah berubah dari lanskap menjadi orientasi potret atau sebaliknya. Orientasi jendela aplikasi mungkin memengaruhi bagaimana Anda ingin kontrol individual dalam jendela aplikasi muncul. Misalnya, Anda mungkin ingin menampilkan daftar data dalam ListView untuk orientasi potret, tetapi dalam GridView untuk orientasi lanskap. Biasanya Anda akan membandingkan rasio Window.Current.Bounds.Width dengan Window.Current.Bounds.Height untuk menentukan orientasi berdasarkan Batas, dan Anda akan melakukan ini setiap kali Window.SizeChanged terjadi kebakaran. Persis bagaimana Anda menafsirkan rasio lebar/tinggi terserah Anda.

Jika Anda melampirkan handler untuk Window.SizeChanged di tingkat Halaman dalam handler untuk peristiwa FrameworkElement.Loaded , Anda harus melepaskan handler tersebut di penanganan aktivitas FrameworkElement.Unloaded dari Halaman tersebut. Instans Window.Current tetap aktif di antara navigasi halaman dan seharusnya hanya memiliki handler yang aktif untuk kode halaman terbaru.

Handler Window.SizeChanged bukanlah cara Anda memberlakukan ukuran minimum yang dapat diubah ukuran aplikasi Anda. Itu dikendalikan oleh manifes aplikasi. Namun, logika Anda untuk mengubah status visual harus dapat memuat status yang dirancang untuk lebar minimum yang Anda inginkan, dan Anda biasanya menggunakan nilai dan Window.SizeChanged penanganan Batas untuk mendeteksi kapan jendela aplikasi menggunakan lebar minimum.

Untuk informasi selengkapnya tentang cara menggunakan Window.SizeChanged untuk mendeteksi perubahan di lingkungan jendela aplikasi dan memuat status visual yang sesuai untuk aplikasi Anda, lihat Tata letak responsif dengan XAML.

Ada peristiwa lain bernama SizeChanged yang ada pada jenis turunan FrameworkElement (Jendela bukan jenis FrameworkElement ). Peristiwa FrameworkElement.SizeChanged mungkin diaktifkan dalam banyak keadaan yang sama yang menyebabkan Window.SizeChanged kebakaran. Perubahan ukuran jendela aplikasi dapat menyebabkan elemen visual akar (biasanya Halaman atau panel) mengubah ukurannya. Ini mengatur kaskade invalidasi tata letak untuk sublemen apa pun yang menggunakan tata letak adaptif untuk mengisi ruang yang tersedia. Setiap elemen yang memiliki dimensi baru karena kode tata letak akan mengaktifkan peristiwa FrameworkElement.SizeChanged sendiri.

Berlaku untuk

Lihat juga