Dalam aplikasi WPF, selalunya perlu membezakan antara persekitaran masa reka bentuk dan masa jalan. Ini amat berguna apabila mereka bentuk model paparan dan logik UI yang sepatutnya berkelakuan berbeza dalam setiap senario.
Salah satu pendekatan sedemikian melibatkan pemantauan mod pelaksanaan semasa aplikasi. Jika kod berjalan dalam alatan reka bentuk seperti Blend atau Visual Studio, ia harus menggunakan data olok-olok atau visualisasi pemegang tempat. Sebaliknya, dalam mod pengeluaran, ia harus menyediakan data masa nyata dan interaksi berfungsi.
WPF menawarkan cara yang mudah untuk mencapainya melalui kaedah DesignerProperties.GetIsInDesignMode. Kaedah ini mengambil DependencyObject sebagai parameternya dan mengembalikan boolean yang menunjukkan sama ada objek itu sedang dalam mod reka bentuk.
// 'this' is your UI element bool isInDesignMode = DesignerProperties.GetIsInDesignMode(this);
Jika anda menyasarkan Silverlight atau Windows Phone 7, sebaliknya anda harus menggunakan DesignerProperties.IsInDesignTool kerana ia memberikan hasil yang lebih tepat dalam beberapa senario.
bool isInDesignTool = DesignerProperties.IsInDesignTool;
Akhir sekali, untuk aplikasi WinRT atau Metro, anda boleh menggunakan Windows.ApplicationModel.DesignMode.DesignModeEnabled:
bool isDesignModeEnabled = Windows.ApplicationModel.DesignMode.DesignModeEnabled;
Dengan memanfaatkan sifat ini, pembangun boleh dengan mudah membezakan antara reka bentuk dan persekitaran masa jalan serta menyesuaikan kod mereka dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Mod Reka Bentuk WPF untuk Mengurus Gelagat Masa Jalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!