有些情況下,對執行緒的控制或是對動畫的控制也許很複雜,但是那都只想要在「真實環境」中才執行,而且因為VS設計工具的強大,有時在設計模式時會連執行緒一起跑,進而造成一些意想不到的例外發生導致程式需要關閉
有些情況下,對執行緒的控制或是對動畫的控制也許很複雜,但是那都只想要在「真實環境」中才執行,而且因為VS設計工具的強大,有時在設計模式時會連執行緒一起跑,進而造成一些意想不到的例外發生導致程式需要關閉,像小弟就有遇到這個問題,有圖為證,如下
接著不論按是或否,都會把Blend強制關閉,但是在手機上run是沒問題的,只要一回到設計模式,這個問題就頻頻發生,經過一番Trace後發現是執行緒的問題。
那如果在設計模式中是不需要執行某些執行緒的,就可以透過以下方法判斷:
{
//設計模式中
}
//或是用下列方式判斷
if (DesignerProperties.GetIsInDesignMode(this))
{
//設計模式中
}
備註:如果您是開發WPF或Windows Form的開發人員,要注意在建構式裡面是不能用上述方式判斷的
the DesignMode property should not be checked from within the constructor or from any code that the constructor calls. A constructor is called before a control is sited, and it's the site that determines whether or not a control is in design mode. DesignMode will also be false in the constructor.(從這個網址轉載)
意思就是說,如果在建構元裡面用這個方式判斷,無論如何都會傳回false,也就是跟沒有判斷是一樣的,所以應使用下述方法判斷
{
//可適用於WPF以及Windows Form於建構元中判斷是否處於設計模式
}
如有任何錯誤的地方,也請各位多多指教,謝謝。