MVVM 設計模式介紹DataBinding 介紹NotifyPropertyChange通知變更MvvmHelpers介紹 ... ... <看更多>
c# mvvm範例 在 圖片裁減與儲存和讀取(學習將Code Behind 範例,轉換成為... 的美食出口停車場
圖片裁減與儲存和讀取(學習將Code Behind 範例,轉換成為MVVM 模式). 探討使用.NET/C# 與Xamarin 與Xamarin.Forms 在Android,iOS,UWP上相關技能與 ... ... <看更多>
c# mvvm範例 在 [問題] 有沒有著重在GUI方面的書Winform WPF - 看板C_Sharp 的美食出口停車場
自己也是寫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 - 尊爵不凡的您值得擁有
# 學習
一開始就照著書上走
知道什麼是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
可以讓UI的某個部分拉出來離開主視窗,還可以再拼回去不同的位置,很爽
CefSharp
https://reurl.cc/Kjbv9m
可以在WPF裡面嵌入網頁,我沒記錯這個是chromium的內核,跟chrome好像是同一個
MahApps - Flyout
UI會飛出乃...
Notifycation
可以在螢幕上彈出來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
※ 編輯: e23882 (211.75.101.50 臺灣), 09/11/2020 09:49:55
... <看更多>