我們的設計師正在使用Blend來設計我們的WPF應用程序。當他選擇當地資源作爲物業時,Blend將把它們作爲{DynamicResource}
而不是{StaticResource}
。我的猜測是Blend會這樣做,因爲它可以讓應用程序在運行時重新進行主題化,而無需重新啓動它。DynamicResource而不是StaticResource是否有顯着的性能成本?
我的問題是:這個額外的查找是否有顯着的性能成本?我們是否應該要求設計師回去手動將這些Dynamics改爲靜力學?
這是一個偉大的SO問題,說明各類型之間的區別:What's the difference between StaticResource and DynamicResource in WPF?
關於您的語句「很顯然,StaticResource對於指向特定的鍵非常有用,你知道會在正確的時間提供。「 這是否意味着DynamicResource會丟失編譯時類型檢查並將其移至運行時? – scobi 2010-02-12 05:44:17
是的。在大多數情況下,一個未解析的DynamicResource引用只會得到一個默認值(比如Black for Brushes),然後等待它尋找顯示的密鑰。編譯器沒有任何方法可以自行驗證這種情況。 – 2010-02-12 13:42:53
這是非常有益的,謝謝! – 2012-05-24 06:45:11