據我所知,所有在XAML中完成的工作都可以在C#中完成。爲什麼將XAML編譯爲BAML而不是C#
爲什麼XAML是在BAML中編譯而不是在C#中編譯的?在編譯時分析XAML並創建相應的C#代碼會更有效嗎?
據我所知,所有在XAML中完成的工作都可以在C#中完成。爲什麼將XAML編譯爲BAML而不是C#
爲什麼XAML是在BAML中編譯而不是在C#中編譯的?在編譯時分析XAML並創建相應的C#代碼會更有效嗎?
Xaml與c#代碼是分開的,因爲它允許這些元素被「軟編碼」。如果您將Xaml編譯爲C#代碼,則可以擊敗此特性,因爲現在UI元素,數據綁定,事件等現在已被硬編碼到程序中,並且您需要重新編譯整個程序以對其進行輕微更改用戶界面。
該博客文章石油k。引用說的XAML實際上是在同一時間編譯成IL,但BAML現在使用的原因是:
從理論上講,所有的XAML可以編譯成等價的C#(BAML雖然在實踐中使用)。
查看發生器後面的XAML代碼http://xamlgenerator.codeplex.com/。
它是Visual Studio 2010的一個插件,它允許您將XAML編譯爲等效的C#,對於如何將XAML編譯到C#中感覺非常有趣。
這看起來不像問題的答案。 – 2014-11-11 08:21:33
感謝您的鏈接,它提供了良好的情況總結 – japf 2009-09-14 20:53:20
您應該將相關信息複製到您的答案。就目前而言,你的回答並不能獨立回答任何問題。 – Zack 2015-08-24 16:31:08