請問wpf在設計界面時,是使用blend可視化設計,還是直接編寫xaml代碼呢?

上面兩種方法哪一種更加專業呢?或者專業的wpf界面設計是怎麼進行設計開發的呢?


MVVM是很好的模式 可以被兩組專門人員分別處理UI 和邏輯

做邏輯的人就用VM的最簡單的抽象控制項來調試。

做UI的人就用Blend 來寫界面

所以你是美術就用 Blend

你是做邏輯的辰煦媛就直接VS寫點XAML 用點拖拽做一個大概就好了

如果你不得不精神分裂 那就先VS 後Blend


Blend可以讓程序員只處理ViewModel和data binding,讓該畫UI的去畫UI


Blend的作用不應該僅僅是做可視化設計。在之前項目開發中,我們會事先讓專業的設計公司提供頁面設計。由他們直接提供AI文件或者是PS文件。此時通過Blend導入這些設計文件後,可直接將設計文件轉換成xaml代碼。這樣你做成的界面會完全和設計的界面保持一致。接下來,你只需關注後台的數據結構設計與數據綁定即可。這樣,使得開發人員不用再去過多的關注前台的設計,更多關注具體功能實現。


我喜歡用Blend生成樣式模板之後直接用Xaml寫,除非是調色。

不知道是不是只有我一個人遇到過,反正我的Blend設計器崩潰的幾率是經常的事情。

這裡輪子在這,我希望能解答一下@vczh


Blend用的不多也不熟,我基本用它的時候都是為了獲取控制項(以模板化控制項的形式創建的控制項,比如常用的Button)模板來對其進行改造,其餘的時候都是手寫xaml。更多的時候是在做比較複雜的控制項時,比如坐標系相關功能性控制項,需要xaml和大量C#代碼配合去做,因為很多可視化元素是代碼動態生成的,也不可能獲取預覽效果,此時Blend的用處就比較小。這是我本人的實踐,歡迎補充交流。


自然是 blend 更加專業。但你既然這麼問了,說明你離專業 UI 設計還差點。就直接去寫 XAML 吧。

這麼說吧,同樣對於 button 控制項,如果你是 button 的設計者,那麼用 blend,如果只是把別人寫的 button 拿來拼裝自己的界面,直接寫 XAML 反而更快更簡單。

有點類似網頁設計,一般人就直接用 HTML CSS 了。Photoshop是給專業美工用的。


建議好好學XAML,不要太依賴Blend,它的可靠性還有待提高。

我用過一段時間的Blend,對簡單的界面編寫來說確實比較方便。但是功能還不夠完善,還是經常要去手動寫XAML。

拿我的個人經歷舉些例子:

編輯控制項模版的時候,添加個多條件觸發器,設計器直接彈出停止工作。

編輯一些複雜控制項的模版副本,Blend無法解析那些XAML,就顯示了一些奇怪的代碼,一點,又崩潰了。

創建的故事板很多屬性不能直接改,在XAML里改了,回到設計器那整個故事板就改不了了。

期待微軟繼續能改進Blend。


能不用代碼解決的都不用代碼,寫代碼是手段不是目的.


界面層和邏輯層分開,參照Android


推薦閱讀:

如何看待 .NET Native,真能達到 C++ 的性能、C# 的生產效率嗎?
.Net core現在可以做什麼?未來發展有前景嗎?
如何評價 JetBrains .NET IDE 的正式版 Rider 2017.1 ?
VS里有什麼Eclipse里沒有的強大功能?
如何編寫能夠監聽特定程序或全系統所有Http請求的.Net程序?

TAG:用戶界面設計 | C# | WindowsPresentationFoundationWPF | XAML |