資料地址1:https://pan.baidu.com/s/1jnA-cRWmQMsjeLFHd9-o-A 提取碼:fkaw
資料地址2:https://share.weiyun.com/9x0StxRy 密碼:zukiwy
1、C#能做什么
上位機軟件、桌面顯示軟件、unity 3D游戲、網(wǎng)頁開發(fā)等
2、為什么要選擇C#,而不是QT或者其它?
(1)C# 簡單易上手。qt 基本就C++的語法,用起來很復(fù)雜。
別扯什么運行速度,內(nèi)存那些有的沒的,那些東西全是扯犢子,對于新手或者絕大多數(shù)人,那些東西可能寫一輩子代碼也不用考慮,現(xiàn)在的計算機不缺算力和存儲空間。主要精力應(yīng)該是保證功能的實現(xiàn)和穩(wěn)定運行。
(2)C# 是微軟創(chuàng)造出來的,背靠宇宙第一強編輯器 visual studio,對于代碼的調(diào)試,兼容,有著無可比擬的優(yōu)勢。
我舉個例子,每臺Windows電腦都有個事件查看器,它記錄了電腦的各種異常事件。我們知道,寫代碼的時間是遠遠沒有調(diào)試的時間長的,而用C#寫的程序,通過Windows自帶的事件查看器就能定位到異常代碼是第幾行,你就說這點,選不選C#。
(3)學(xué)會C# 會的是一類東西。
比如你是用C#寫桌面應(yīng)用程序(winform、WPF),你還可以用C#寫網(wǎng)頁 (asp.net),現(xiàn)在火熱的Unity3D腳本也是通過C#來完成的,只要微軟不跨,你說為啥不選一勞永逸的語言。
3、什么是 WPF?
Windows Presentation Foundation (WPF) 是一個可創(chuàng)建桌面客戶端應(yīng)用程序的 UI(用戶界面)框架。 WPF 開發(fā)平臺支持廣泛的應(yīng)用開發(fā)功能,包括應(yīng)用模型、資源、控件、圖形、布局、數(shù)據(jù)綁定、文檔和安全性。
WPF 是 .NET 的一部分,因此,如果你曾經(jīng)使用 ASP.NET 或 Windows 窗體通過 .NET 構(gòu)建應(yīng)用程序,應(yīng)該會熟悉此編程體驗。 WPF 使用 Extensible Application Markup Language (XAML) 為應(yīng)用程序編程提供聲明性模型。
4、創(chuàng)建項目
在 Visual Studio 中創(chuàng)建應(yīng)用程序時,應(yīng)首先創(chuàng)建項目和解決方案。 在本示例中,你將創(chuàng)建一個 Windows Presentation Foundation (WPF) 項目。
打開 Visual Studio。
在“開始”窗口上,選擇“創(chuàng)建新項目” 。
在“創(chuàng)建新項目”屏幕上,搜索“WPF”,選擇“WPF 應(yīng)用程序”,然后選擇“下一步” 。
在下一個屏幕中,為項目指定名稱“HelloWPFApp”,然后選擇“下一步”。
在“其他信息”窗口中,驗證是否為目標框架選擇了“.NET 8.0”。 然后,選擇“創(chuàng)建” 。
Visual Studio 將創(chuàng)建 HelloWPFApp 項目和解決方案,“解決方案資源管理器”將顯示各種文件。 “WPF 設(shè)計器”在拆分視圖中顯示 MainWindow.xaml 的設(shè)計視圖和 XAML 視圖。 您可以滑動拆分器,以顯示任一視圖的更多或更少部分。 您可以選擇只查看可視化視圖或 XAML 視圖。
5、WPF優(yōu)勢在哪里?
①前后端分離:WPF是數(shù)據(jù)驅(qū)動的而非Winform的事件驅(qū)動,可以通過屬性bing的方式實現(xiàn)界面的數(shù)據(jù)更新,這樣就可以很好地實現(xiàn)前后臺的分離,在大型的開發(fā)項目中,后端開發(fā)人員只用編寫VM相關(guān)的邏輯,界面視圖部分可以去交給美工設(shè)計人員完成,很適合多人分工同時開發(fā);
②MVVM模式:正因為有了前后端的松耦合,就有了MVVM開發(fā)模式,所謂M就是我們定義的數(shù)據(jù)模型(model),V就是我們的UI界面視圖(view),VM就是視圖模型(View-model),這里用來承載我們模型與視圖之間的邏輯代碼;
③成熟的框架:正是有了MVVM的開發(fā)思想,就產(chǎn)生了對應(yīng)的配套框架。WPF成熟主流的MVVM模式開發(fā)框架有Caliburn.Micro(簡稱CM),prism、MVVMLight等,我目前就一直在使用CM框架做開發(fā),體驗相當好。
④絢麗的外表:WPF通過XMAL開發(fā)界面,非常靈活,可以開發(fā)很多酷炫的界面,當然Winform也可以開發(fā)出很漂亮的界面,但是很費勁,還需要基本功異常扎實。
6、樣式和模板
WPF 中的樣式和模板是用于設(shè)置控件外觀的重要工具。樣式是一組屬性設(shè)置,可以應(yīng)用于控件或控件容器,以改變其外觀和行為。模板是一組控件和屬性設(shè)置,用于描述控件的內(nèi)部結(jié)構(gòu)。例如,以下代碼片段定義了一個包含樣式和模板的按鈕:
<Style TargetType="Button">
<Setter Property="Background" Value="Red"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}">
<ContentPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
7、掌握 WPF 控件的使用
WPF(Windows Presentation Foundation)是微軟公司的一種用戶界面框架,具有強大的可視化和交互功能,支持 2D 和 3D 圖形、動畫和轉(zhuǎn)換效果。在 WPF 中,控件是用戶界面的基本構(gòu)建塊。
8、WPF 控件
WPF 中有許多內(nèi)置的控件,例如按鈕、標簽、文本框、列表框和圖像等。這些控件可以使用 XAML 創(chuàng)建,并使用屬性設(shè)置其外觀和行為。WPF 還支持自定義控件,可以使用 C# 或 VB.NET 編寫控件代碼。
①Button
按鈕是 WPF 中最常用的控件之一,用于觸發(fā)特定的操作?梢允褂 Content 屬性設(shè)置按鈕上顯示的文本或圖像。
②Label
標簽是用于顯示文本的簡單控件,可以使用 Content 屬性設(shè)置標簽上顯示的文本。
③TextBox
文本框用于接收用戶輸入的文本。可以使用 Text 屬性獲取或設(shè)置文本框中的文本。
④ListBox
列表框用于顯示列表項,并允許用戶選擇其中一個或多個項。可以使用 ItemsSource 屬性設(shè)置列表框的數(shù)據(jù)源,使用 SelectedItem 屬性獲取或設(shè)置用戶選擇的項。
⑤Image
圖像用于顯示圖像文件?梢允褂 Source 屬性設(shè)置圖像文件的路徑。