自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Silverlight開(kāi)發(fā)的一些最佳實(shí)踐分享

原創(chuàng)
開(kāi)發(fā) 后端
在XAML文件中不要使用無(wú)用的xmlns命名空間,這樣會(huì)導(dǎo)致Silverlight頁(yè)面加載時(shí)間過(guò)長(zhǎng)。不要在單個(gè)XAML頁(yè)面中增加多個(gè)相同的命名空間,這樣會(huì)破壞XAML代碼的可維護(hù)性,運(yùn)行時(shí)多次加載相同名稱(chēng)的命名空間可能會(huì)引起各種內(nèi)存問(wèn)題。

我從2008年3月開(kāi)始使用WPF/Silverlight開(kāi)發(fā),這幾年來(lái)我學(xué)到了很多東西,我打算分享一些WPF/Silverlight開(kāi)發(fā)***實(shí)踐,希望這些技巧在你編輯XAML代碼時(shí)能有所幫助。

在XAML文件中不要使用無(wú)用的xmlns命名空間,這樣會(huì)導(dǎo)致Silverlight頁(yè)面加載時(shí)間過(guò)長(zhǎng)。不要在單個(gè)XAML頁(yè)面中增加多個(gè)相同的命名空間,這樣會(huì)破壞XAML代碼的可維護(hù)性,運(yùn)行時(shí)多次加載相同名稱(chēng)的命名空間可能會(huì)引起各種內(nèi)存問(wèn)題。

為xmlns命名空間前綴使用合適的名字,例如,xmlns:commonControls就比xmlns:cctrl更有意義,這樣可以避免將來(lái)命名空間的多次聲明。Xmlns命名空間的前綴中盡量避免使用local,***用localControls或localConverters代替,在相同的程序集中可能有兩個(gè)或多個(gè)命名空間(如Controls或Converters等),在這種情況下,使用合適的前綴名將有助于正確區(qū)別它們。

當(dāng)增加一個(gè)無(wú)元素的控件時(shí),***使用自閉合標(biāo)簽“/>”關(guān)閉,不要使用硬關(guān)閉標(biāo)簽“</tag>”,這樣X(jué)AML代碼看起來(lái)會(huì)更清爽。如果資源沒(méi)有被使用,***移除這些不必要的資源鍵,它們會(huì)消耗更多的內(nèi)存,你可能會(huì)因此遇到很多惱人的問(wèn)題,如果你后面會(huì)使用到它們,你可以隨時(shí)來(lái)添加它們。

不要使用額外的面板(如Grid,StackPanel,Canvas等)。如果你需要使用其它面板,首先應(yīng)該嘗試Grid,Grid擁有靈活的UI布局,對(duì)調(diào)整應(yīng)用程序大小很有用。不要企圖給Silverlight頁(yè)面中的所有控件起一個(gè)名字,因?yàn)樵诩虞d時(shí)會(huì)創(chuàng)建一些不必要的對(duì)象,只需要為那些后面將會(huì)用到的控件起一個(gè)名字即可,如果你在使用MVVM模式,你可以移除幾乎所有控件的名字。

使用控件的Visibility屬性代替Opacity屬性隱藏內(nèi)容,Opacity屬性值設(shè)為0雖然可以起到隱藏作用,但內(nèi)存占用和UI空間占用是不會(huì)減少的,相反,Visibility屬性會(huì)釋放內(nèi)存和UI空間,因此可以將有限的空間放置其它控件。在XAML代碼中使用正確的格式,這樣會(huì)使代碼更好看,也更易于維護(hù)。

盡可能為XAML增加注釋?zhuān)?dāng)過(guò)了很久你再查看這些代碼時(shí),你才能想起當(dāng)初這樣寫(xiě)的動(dòng)機(jī),此外,如果是多人協(xié)作,合理的注釋會(huì)減少其他人員的代碼閱讀和理解時(shí)間,促進(jìn)協(xié)作生產(chǎn)力的提高。使用StaticResource代替DynamicResource,首先它會(huì)提升性能,其次在開(kāi)發(fā)時(shí)可以跑出異常信息,有利于調(diào)試。

移除不需要的樣式。如果你想跨應(yīng)用程序共享你的樣式,***在單獨(dú)的文件中添加你的樣式,如果只針對(duì)某個(gè)特殊的頁(yè)面,***在頁(yè)面資源文件中添加它們。

責(zé)任編輯:馬沛 來(lái)源: 51CTO.com
相關(guān)推薦

2022-05-19 07:52:39

MLOps云計(jì)算實(shí)機(jī)器學(xué)習(xí)

2010-10-28 09:05:42

SilverlightXAML

2017-05-02 21:08:35

開(kāi)發(fā)架構(gòu)工程師

2011-06-16 16:39:14

CSS

2023-10-07 16:20:34

JavaAPI

2011-06-10 20:02:55

嵌入式開(kāi)發(fā)

2014-07-31 09:33:05

開(kāi)發(fā)者獨(dú)立開(kāi)發(fā)者

2011-06-10 20:30:35

2015-12-04 10:04:53

2017-09-20 15:07:32

數(shù)據(jù)庫(kù)SQL注入技巧分享

2021-04-09 10:26:43

Python編程技術(shù)

2025-01-20 00:00:06

Vue開(kāi)發(fā)工具庫(kù)

2009-12-31 10:15:12

Silverlight

2022-08-02 09:55:04

React前端

2011-04-06 09:33:40

Push動(dòng)互聯(lián)網(wǎng)

2021-06-08 06:13:16

React開(kāi)發(fā)開(kāi)發(fā)技術(shù)

2011-07-03 19:07:47

關(guān)鍵詞

2011-06-15 18:42:28

友情鏈接

2021-10-31 07:36:17

前端JavaScript編程

2015-08-17 15:53:58

Linux桌面
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)