Pro WPF in C# – think aloud

來源:互聯網
上載者:User

剛開始看,正看到第三章Layout,真搞不懂WPF一直強調的設計UI的那些改變真的是好事嗎?

首先,有多少開發人員真的關心一個視窗改變大小帶來的影響呢?開發人員完全可以將主表單設為預設最大化,所有功能都用不能調整大小的快顯視窗,或者Dock在一個固定大小的Panel裡面。使用者調整主視窗大小?吃飽了撐的啊,能幹事就行,沒事調整大小幹嘛。 自己要調整大小,就別怪大小改變導致介面變形不規則什麼的(何況Winform調整視窗大小隻要不過分也不會有多難看的效果)。Winform做出來的應用程式又不是讓使用者當遊戲一樣玩的。

再說不同顯示器和解析度的影響。.NET出現的時候,大概流行的顯示器還是15寸的。後來顯示器一直在發展,Winform應用程式也在不斷地被部署到客戶那裡。有多少客戶會抱怨說,因為顯示器換了更好的,導致以前你們給開發的應用程式不好用了,需要更新程式?我孤陋寡聞,沒聽過。

這是沒事找事做的無用功,再說說做的反向功。

我剛開始看WPF,也許這個問題不像我想象的那麼麻煩。但就我目前的理解,控制項的位置和大小都用固定像素和固定座標來表示是很直觀,很簡單,很好理解和維護的方式,為什麼要求使用者都接受流方式的布局呢?我個人喜好CS多於BS就是因為不想花太多心思在網頁的布局上面。div+css真的不是我喜歡乾的事情,不知道什麼時候需要clear both,不知道什麼時候用float,什麼時候用relative position,一想起這些我就頭大。相反,Winform的布局真的是所見即所得 (WYSIWYG)。我可以非常輕鬆地做到把四個TextBox放在一個GroupBox裡面,讓它們在一條橫線上,中間等距離寬,看起來不說很漂亮,至少簡潔大方,使用者也能夠輕鬆地理解。WPF?好嘛,先得想想是用StackPanel,WrapPanel,還是Grid什麼的。拜託,我又沒有做表格,非讓我在Grid裡面設計幹嘛,即使它是不可見的。想想用Winform要顯示一個俱樂部客戶的詳細資料,拖一把基礎控制項顯示基本資料,加上幾個標籤,每個標籤顯示某個特定方面的資料,就完了。用WPF?先得想想一共需要多少個Container,哪些控制項放在哪個Container裡面,哪些Container又放在一個更大的Container裡面。如果需要對齊,還得想想用Margin,Alignment分別設定成什麼。累啊,也許熟練了之後不覺得累,但是一個是學習需要時間,更重要的是我為什麼要去花時間學習,理解,練習,然後掌握一個跟我核心工作不相關的事情呢?

開發人員的重點應該放在系統架構上,想想怎麼設計項目結構,有幾個Project,每個是幹什麼用的。類的層次是怎麼樣的,哪些類用抽象的,哪些要定義介面,等等。 

有多少CS的項目是客戶強烈要求介面漂亮到覺得自己幹不了,只能去買商業第三方的漂亮控制項呢?第三方的控制項是漂亮了,我就遇到過由於使用Infragistics的控制項導致記憶體流失的問題。類似這種問題在控制項開發公司的論壇上一直就沒斷過。為了追求一點點的漂亮,給程式開發和維護造成很大的影響,真的值得嗎?

目前來說,我繼續學習WPF的目的可能是為了能在Winform中加入部分WPF控制項來局部美化介面吧。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.