Re: [問題] 有沒有著重在GUI方面的書 Winform WPF

看板C_Sharp (C#)作者 (呆呆要不要買降有)時間3年前 (2020/09/08 20:21), 3年前編輯推噓10(1004)
留言14則, 10人參與, 3年前最新討論串2/2 (看更多)
自己也是寫WPF的,寫好久了也走了很多彎路,來分享一下技能樹怎麼發展 # 教材 書的話我蠻推薦這本的 "WPF 編程寶典 - 使用 C# 2012 和 .NET 4.5 (第4版)" https://www.tenlong.com.tw/products/9787302327738?list_name=c-wpf 寫的比較深比較深,但是範例多,概念也完整 還有一本日本人寫的 "WPF 與 XAML 應用程式開發講座" 這本比較簡單,我一開始學DataBindind的時候覺得很抽象,一直搞不懂 有一天翻一翻突然就了解了 如果剛開始學寫UI建議就直接從WPF開始了 WPF一直在用的Xaml、Databinding、MVVM 在之後微軟.net6的MAUI也用的到可以無痛接軌 現在一些網頁的前端框架、APP也都有用到DataBinding跟MVVM的設計 學了之後寫其他的前端框架也不會從0開始,CP值很高 而且WPF有很多漂亮的UI庫,分享一下我自己常用的幾個 MahApps https://mahapps.com/ MaterialDesignInXamlToolkit https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit Live Chart https://lvcharts.net/ ========================================================== # 環境 下載.net core3.1的SDK visual studio 2019 community 課金玩家我建議可以買個Rider,人家還在一行一行慢慢打的時候 你alt + enter enter物件建構子生出來了(這個visual studio好像也有) 移到類別上 Ctrl+I Alt+P 物件介面寫好了 找不到快捷鍵Shift按兩下直接用搜尋的 live template, qq tab常常在寫code出現了 人家用走的去打怪你跳著打,超級chill 練熟的話寫扣的過程中手都可以不用離開鍵盤 再配一把青軸鍵盤,啪啪啪啪啪啪啪,鄰居聽到了都會覺得自卑 這是我之前練習手不離開鍵盤錄的影片 https://www.youtube.com/watch?v=Pd8vVcB1l6w
Rider - 尊爵不凡的您值得擁有 https://imgur.com/a/bt8p62W # 學習 一開始就照著書上走 知道什麼是Xaml.布局元件.元件.屬性.事件.委派事件.依賴屬性 之後了解一下ViewModel、DataBinding、Command、Interaction、MVVM架構 ****寫的時候忘記寫到了,補充一下**** xaml的話一定要再學一下DataTemplate、ControlTemplate、Converter C# 的話還有一個WPF專用的ObservableCollection<T> 一些常用的介面知道在幹嘛 INotifyPropertyChanged、IValueConverter、ICommand 還有NLog *********************************** 在這個階段會深入了解C#,什麼變數方法類別介面迴圈都要在這個時候學好學扎實 這時候你可以會需要一本專門在講C#的書,但因為我從來沒看過這種書 所以可能要請其他人推薦你一下 到這裡其實已經可以用WPF滿足你大部分的需求了 你會覺得自己hen棒開始想要做自己的東西,可能會開始學資料庫存一些要用的資料 你可以再繼續深入了解WPF 學一些Storyboard、Trigger、Resource、Style、 刻自己的元件.... 這些書上都有教,但是工作比較少用到這一塊,尤其是如果你用別人寫好的樣式庫的話 基本上那些庫可以滿足你大部分UI滑來滑去的需求 或是開始學資料庫相關的知識 這邊我要推薦幾個我覺得用起來很爽,效果也很帥的UI庫 Avalondock - WPF ToolKit https://imgur.com/a/0qzInOS 可以讓UI的某個部分拉出來離開主視窗,還可以再拼回去不同的位置,很爽 CefSharp https://reurl.cc/Kjbv9m 可以在WPF裡面嵌入網頁,我沒記錯這個是chromium的內核,跟chrome好像是同一個 MahApps - Flyout https://imgur.com/a/6I9e3QU UI會飛出乃... Notifycation https://imgur.com/a/zI87rWs 可以在螢幕上彈出來OO Diffviewer 其實就是上面Avalondock的圖片裡面的東西,他可以比對文字的差異 很方便 不過我強烈建議在學資料庫之前可以先學個測試框架 MSTest、NUnit、XUNit 不然之後開始有資料進來UI常常會出現一些你沒辦法預期的行為 會花很多時間在debug,人生苦短單元測試可以幫你節省很多debug時間 資料庫的話應該會學幾個常用的 SQL Server、MySQL、SQLite 這邊強烈建議就直接連ORM框架也學了 EF、Dapper 學會之後可以再學個.net core的Webapi .net core的注入依賴會讓你在程式的設計上有更多的想法 學了webapi總不會希望服務永遠都架在自己開發的電腦上 你可以學一下怎麼架server,怎麼用裝win server、linux 課金的同學可以直接用azure、GCP、或是跟其他主機商租主機 如果你的服務真的寫得好,你可能會面臨常常要發布到新的環境上給別人用 每次都會浪費你很多時間,你可以學一下怎麼用docker打包跟部屬你的環境 不過因為我很懶惰一直都沒有去學這個,所以不能給你什麼建議 再來還有一些什麼負載平衡、緩存、CICD就要等你學會之後上來教大家了 最後用我從大陸人那邊學來的一句話做這個學習的總結 手在鍵盤 心中有圖 一把梭 ※ 引述《nietz (菜嘎舞春)》之銘言: : 大家好 : 我是新手,且算是業餘兼自學的,因為工作上是少部分,並非常常在寫程式 : 一般市面上的書(英文、中文)似乎都是在語法上著墨較多,對GUI方面仔細說明的 : 書比較少... : 小弟好奇是不是有比較針對GUI這方面的書籍? 我用Winform、但不排除其他... : 或者應該這樣問,各位前輩是否不大需要書,並如何在GUI這方面學習成長的? : 謝謝~ -- ◢████◢███ ╭═╮ ◢████◤◢███◤ ║˙║ █████ ████ < ˙║ █ ▉█ ████ ║˙║ ◢▇▇████ ╰═╯ ████████ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.101.50 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1599567686.A.4B2.html

09/08 21:03, 3年前 , 1F
講得很詳細 推一個
09/08 21:03, 1F

09/08 23:02, 3年前 , 2F
推的我都想買了
09/08 23:02, 2F

09/09 08:29, 3年前 , 3F
感謝分享
09/09 08:29, 3F

09/09 08:49, 3年前 , 4F
推好文~
09/09 08:49, 4F

09/09 22:34, 3年前 , 5F
這些還沒學完就可以轉職了XD
09/09 22:34, 5F
正常需求都是 N年WPF開發經驗 熟MVVM設計 熟EF GIT SQL WEBAPI.WCF

09/09 23:02, 3年前 , 6F
有沒有直接支援svg的open source lib?
09/09 23:02, 6F
沒有這方面的經驗耶,可能要google一下

09/10 12:36, 3年前 , 7F
好文推
09/10 12:36, 7F

09/10 17:36, 3年前 , 8F
推一個,這個技能樹方向很棒
09/10 17:36, 8F

09/11 06:43, 3年前 , 9F
IDE不想離開vs的話,用resharper也不錯喔。Jetbrain公司的
09/11 06:43, 9F

09/11 06:43, 3年前 , 10F
東西真的可以節省很多時間
09/11 06:43, 10F

09/11 06:55, 3年前 , 11F
感謝推薦wpf的書!我也是類似的學習路徑,只是工作需要,
09/11 06:55, 11F

09/11 06:55, 3年前 , 12F
先去學web api和ef。一直不知道怎麼補上wpf這塊,終於找到
09/11 06:55, 12F

09/11 06:55, 3年前 , 13F
一個入口了!
09/11 06:55, 13F
我記得他們在工程師節的都會有一些殺到流血的折扣 ※ 編輯: e23882 (211.75.101.50 臺灣), 09/11/2020 09:49:55

09/13 18:23, 3年前 , 14F
厲害!感謝分享
09/13 18:23, 14F
文章代碼(AID): #1VLtT6Io (C_Sharp)
文章代碼(AID): #1VLtT6Io (C_Sharp)