簡體   English   中英

XAML與在運行時創建的控件

[英]XAML vs. controls created at runtime

在Windows Phone中,從性能的角度來看,在XAML中定義控件還是在運行時動態創建控件更好? 什么是XAML和運行時控件的缺點/優點?

我記得讀過Xaml加載比代碼中的等效創建更有效,但是:

影響速度的因素包括命名元素的數量(因為它們通過設計器文件中的查找連接到代碼隱藏成員)以及相似/總元素的數量。

從業務角度來看,將其保留在Xaml中是一種更容易維護項目的方法。 Xaml的全部目的是讓設計師能夠獨立於編碼器工作。

我認為我是正確的說這是完全無關緊要的。

從Dev的角度來看,擁有XAML中定義的控件可以實現清晰的分離,如果使用MVVM,您將獲得模式帶來的所有好處(單元測試,清晰分離,更好的可管理性等)

此外,如果您在XAML中定義了控件,您的應用程序將更適合Blend開發,並允許您直觀地控制應用程序的外觀。

我更喜歡在XAML中保留所有UI控件,並在代碼中執行細節。但框架的設計適合所有開發人員的口味

我想如果你嘗試使用純代碼定義動畫/ VisualStates,你會發現Blend有多棒。

Binding語法也在代碼中感覺不太可讀,但是,這可能是一個品味問題。

性能差異可以忽略不計,甚至不應成為一個因素,因為維護和代碼質量差異如此之大。 代碼生成的控件是維護的噩夢,難以設計和樣式化,並且使開發人員更難以遵循應用程序流程。 您基本上都在詢問使用XAML(可以提供設計時視圖),單獨的表示邏輯與業務邏輯之間的區別,以及允許Blend等工具接管,而不是使用上述所有方法的編程方法。 如果您決定將應用程序移植到Windows 8並使用WinRT引擎,該怎么辦? 使用XAML方法和類似MVVM的模式,您可以重用大部分代碼並簡單地更新一些視圖,而使用編程方法,所有代碼都必須被拋棄以支持新的運行時。 因此,即使兩者之間存在輕微的性能差異,我也認為這並不重要,因為其他因素要考慮得更為重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM