網站首頁 編程語言 正文
一、簡介
WPF(Windows Presentation Foundation)是微軟推出的基于Windows 的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。
學習WPF的基礎知識:
(1)WPF是微軟提供的一種用來開發“桌面應用”的技術(框架),這項技術本身和C#沒有關系,必須會的是xaml語法。
(2)對XML、HTML、XHTML、ASP.NET之類的“標準通用標記語言”,對于學習是有所幫助的。
(3)有WinForm或ASP.NET經驗,主要是對控件事件的處理要有所了解。
(4)具備面向對象的思想:在WPF中,經常要靈活運用各種繼承關系、多態、重載等。
(5)DataBinding要有所了解:Binding是WPF的一大亮點。
二、創建WPF項目
1.創建WPF項目步驟
1.打開Visual Studio 2015 ,選擇“菜單—>文件—>新建—>項目”。如下圖:
2.在“新建項目”對話框中選擇“WPF應用程序”,修改名稱為自己項目的名稱,然后點擊“確定”按鈕,便成功創建了一個“WPF應用程序”。新創建的項目所引用的公共類庫如下。如下圖:(“WPF應用程序”會在“引用”里面自動添加下圖中所示的 PresentationCore、PresentationFramework、WindowsBase三大核心程序集)。
3. 項目的生成的文件結構。如下圖:
Properties:資源
引用:引用其他類庫
App.xmal:程序主體(一個GUI進程需要有一個窗體,App.xmal文件的作用聲明了程序的進程,同時指定程序的主窗體),點開app.xaml.cs,它是app.xaml的后臺代碼。
MainWindow1.xmal分支:默認程序的主窗體。
4.在App.xaml中的“StartupUri”屬性可以指定項目運行時的啟動窗體。下圖中“StartupUri="MainWindow.xaml"”,還可以定義我們需要的系統資源以及引入程序集等。如下圖:
xmlns用于在Xaml中聲明名稱空間的Attribute;冒號的映射名是可選的;引號的字符串確定了哪個類庫以及類庫哪個名稱空間。
5. MainWindow.xaml的設計窗體中我們可以修改Title。還可以設置MainWindow的屬性和添加事件。完成了這些設置以后,我們就可以對窗體添加內容了,如下圖:
x:Class是當XAML解析器將包含它的標簽的解析成C#類的類名。是來自xmlns:x的命名空間。第一行xmlns是默認命名空間。<Window>和<Grid>都來自默認空間。Title是窗體標題,Height是窗體高度,Width是窗體寬度。可以引用CLS的命名空間。
6. 我在這個窗體中添加了一個 Viewbox, ViewBox組件的作用是拉伸或延展位于其中的組件,使之有更好的布局及視覺效果。
2.WPF項目小案例
Grid標簽中的代碼:
<Grid>
<!--行-->
<Grid.RowDefinitions>
<RowDefinition Height="200" />
<RowDefinition Height="200"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--列-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" />
<ColumnDefinition Width="200" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!--布局方式-->
<StackPanel Grid.Row="0">
<TextBlock Width="250" Height="26" Text="您所在的省份:" TextWrapping="Wrap" Background="Azure" FontSize="20"/>
<ListBox x:Name="listStockName" Width="200" Height="90" Background="Azure" FontSize="20">
<ListBoxItem Content="安徽省"/>
<ListBoxItem Content="浙江省 "/>
<ListBoxItem Content="江蘇省"/>
<ListBoxItem Content="湖南省 "/>
<ListBoxItem Content="湖北省 "/>
<ListBoxItem Content="河南省"/>
<ListBoxItem Content="陜西省 "/>
<ListBoxItem Content="福建省"/>
<ListBoxItem Content="江西省"/>
</ListBox>
<TextBlock Width="250" Height="24" Text="你所選中的省份:" Background="Aqua" FontSize="20" />
<!--綁定選擇項值-->
<TextBlock Width="250" Height="30" Text="{Binding ElementName=listStockName, Path=SelectedItem.Content}" Background="Azure" FontSize="26"/>
</StackPanel>
</Grid>
運行結果:
原文鏈接:https://www.cnblogs.com/wml-it/p/14870223.html
相關推薦
- 2022-04-16 C#基于Socket實現多人聊天功能_C#教程
- 2022-11-23 詳解Android消息機制完整的執行流程_Android
- 2022-07-07 深入理解Go語言實現多態?_Golang
- 2022-11-09 golang包循環引用的幾種解決方案總結_Golang
- 2022-10-11 Filter過濾器和Listener監聽器
- 2022-06-14 Python?torch.fft.rfft()函數用法示例代碼_python
- 2022-08-17 R語言UpSet包實現集合可視化示例詳解_R語言
- 2023-03-22 nginx.conf配置兩個前端路徑_nginx
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支