最近開發的一個WPF項目使用了Prism架構,在設計時經常無法正常顯示界面,很讓人鬱悶。但是運行時是好的。
這也不難理解,由於Prism需要使用反射等技術,在設計時不可能正常獲取信息,當然無法顯示界面。
偶然見看到可以通過DesignerProperties.GetIsInDesignMode(this)來判斷是否是設計狀態。
一般用法,在窗體或用戶控件的構造方法中加入以下代碼,使其在設計時不再運行後繼代碼。
if (DesignerProperties.GetIsInDesignMode(this)) return;