WPF 個人經驗總結 需要注意的地方

2022-02-07 13:49:19 字數 1494 閱讀 4558

濫用effect, 不得將位圖效果應用於大型可視物件或動畫,因為這樣做會降低效能。

不止一次的在這裡吃虧,對於效能比較好的機器,是沒有問題的,對於效能比較差的機器,簡直是災難,每點選一次按鈕都很慢。例如:

window的minheihgt 和minwidth沒有設定。對於螢幕很小的機器,或者dpi很高的機器,當screen的size小於window的size時,window render時, 會按照screen 的size 進行render,也就是說window被裁掉了一部分,設定了minheight 和minwidth,一切ok。

如果wpf程式中有不少,尤其是大,一定要壓縮,有很多方法,例如瀏覽時載入小圖,檢視時載入大圖,或者載入時載入動態生成的縮圖。否則,記憶體乙個勁兒的漲。

wpf中使用的,如果dpi不是96的,用imagesource獲取後,檢視imagesource的尺寸發現,和本身的尺寸出入很大,這是因為wpf的單位的解析度無關性,一般是1/96英吋(詳見所以為了保證正常,盡量把處理為96dpi的。處理辦法:用photoshop開啟,儲存為web格式,選擇png-24輸出,就ok了,或者自己寫個程式處理(我寫過乙個,需要的叫一聲)。

檢視dpi方法:—properties—details ,如果不是jpg的,副檔名改為jpg。

用animation時,相對應的屬性會被鎖定,即便是completed事件中,想改掉值,也很難,有網友給出了解決辦法:

我的解決辦法比較極端:改用dispatchtimer,通過tick來實現動畫。

因為我碰到了這麼乙個問題,有些panel可以流布局的,比如stackpanel,流布局時,高度當然是double.nan,可是我又想對height做animation,怎麼辦呢?這時候doubleanimation就難為情了,所以革命,改為dispatchertimer。

在決定採用wpf技術時,盡量確保客戶機器是win7作業系統,如果是xp,performance是個問題,而且還有一些稀奇古怪的問題等著你,而且還要對付那些山寨的ghost xp 系統可能造成的問題。麻煩的還有,要裝那個很大的.net framework .如果一定要用xp,window盡量不要allowtranceparency=true。個人覺得,wpf適合用在行業客戶,目標平台都是win7。

wpf中, windowsformshost控制項實際建立了乙個窗體,有單獨的控制代碼,這個控制項的層次關係是最高的,會遮蓋其他元素。如果準備插入flash,或者其他外掛程式,要注意了。

在效能比較差的機器上,xp環境下, mediaelement 的效能比嵌入windows media player的效能

要差一些,前者cpu佔用率比較高,後者要求mediaplayer的版本至少是8?

不要一味的追求用xaml寫所有的東東,有時候用xaml反而比較麻煩,出了問題除錯麻煩,建議在比較熟悉xaml使用,並且根據實際需要,哪個方便用哪個。

追求各種效果時,結合專案需要,每種效果都是有效能代價的,需要在效能和效果之間有個平衡。效能超好的,除外,呵呵。

remove unnecessary references. 移除那些不需要的引用。

web前端經驗總結需要注意的地方和技巧

3.明確目標水平 學習web前端肯定是為了就業,所以要分出來主次,web前端體系的內容很多,我們重點要學習哪些內容自己要明確,這樣就比較有方向。4.規範 規範,最好是從開始就養成,對自己有乙個比較嚴格的要求,對於以後的發展很有幫助。5.指導 別自己鑽牛角尖,因為作為乙個初學者,要適當找別人幫助,最好...

AsynckTask幾點需要注意的幾個地方

問題一 asynctask是多執行緒麼?是的 問題二 asynctask與handler相比,誰更輕量級?通過原始碼可以發現asynctask實際上就是乙個執行緒池,而網上的說法是asynctask比handler更輕量級,顯然這是不準確的說法,只能這樣說,ansytask在 上比handler要輕...

關於Map Set list集合需要注意的地方

一 非空判斷 如果object為null,則設定為defaultvalue objectutils.defaultifnull object,defaultvalue 判斷集合是否為null listlist new arraylist system.out.println list.isempty...