WPF邊學邊做,圖片瀏覽器(一)


目錄:

引言

程序原型界面

WPF簡介

新建一個WPF程序

WPF中標簽和類的對應關系

載入圖片

結語

引言

.Net體系有3個很重要的Foundation:WPF、WF、WCF,最近希望創建一個使用WPF的圖像查看器,遂學習了相關知識,在實現該程序的過程中琢磨了大量的WPF知識,不敢獨享。故寫於此供各位大大參考和指點。

程序原型界面

 

初始想法就是這樣,然后讓我們開始做起來把,別看它貌似功能較少,但是用到的方法技巧可不簡單。接下來我准備做一個系列,記錄自己在做這個程序的時候的心得和學習歷程,算是一個總結,也是拋磚引玉。

對於想學習WPF的朋友也可以跟着做,這樣一來有了成果,二來也學到了知識,一舉兩得。本教程僅針對改圖片瀏覽程序所用到的WPF知識進行了整理,掛一漏萬,還請各位大大海涵和指教。

 WPF簡介

Windows的UI基礎是User32和GDI/GDI+。然后有了C++向的MFC,C#向的WinForm,使用此API創建用戶界面。DirectX的出現使得程序員可以使用各大廠商顯卡的GPU創建更加Rich的應用程序界面。DirectX的API比較繁瑣,一般程序的前端工程師不使用,且也用不着這么厲害的表示方式,除非是游戲界面,一般應用程序不需要用到。WPF(Windows Presentation Foundation)即能使用DirectX的豐富顯示方式又能較容易的編碼,它通過XAML代碼實現而不是直接在cs文件里編輯,使得熟悉Html/Xml格式的開發人員更容易上手,而且WPF中的3D繪圖和WebPage支持是一個很大的特色。

 新建一個WPF程序

使用.Net4.0新建一個工程

App.xaml

<Application x:Class="WpfImage1.App"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri
="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>

App文件是程序的開始文件,注意App.xaml中的StartupUri="MainWindow.xaml",此屬性表示程序會New一個MainWindow.xaml表示的窗口,作為起始窗口

MainWindow.Xaml

<Window x:Class="WpfImage1.MainWindow"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
Title
="MainWindow" Height="350" Width="525">
<Grid>

</Grid>
</Window>

WPF和類的對應關系

一般地,一個WPF的標簽表示一個類(class),標簽里面的屬性表示該類的屬性(Property),比如上面的代碼就表示一個Window類,其中屬性Title=””MainWindow” Height=”350” Width=”525”,這些屬性不一定非要在Xaml設置,在CS文件中也能直接對這些屬性賦值。

 

就像這樣

Window wd=new Window();
wd.Title=””MainWindow2”;
wd.Height=”350”;
wd.Width=”525”;
wd.Show();

把這段代碼加入MainWindow的構造函數中就能創建一個標題為””MainWindow2”的窗口了。

 

其中Window標簽中的<Grid>也是一個類,不過作為Window的子元素只能有一個。Window類繼承自ContentControl類,ContentControl.Content約束只能有一個Content。

 載入圖片

既然是圖片瀏覽器,那么就需要可以載入圖片。我們使用標簽<Image>,像這樣加入MainWindow.xaml的Grid標簽中

<Grid>
<Image Source="..."></Image>
</Grid>

Image標簽可以設置圖片的Width/Height和拉伸方式Stretch。重要的是其中的Source屬性,在此屬性中放入圖片路徑比如”C:\1.jpg”就可以顯示一張圖片了。

 結語

首先提出了課程目標,然后講解了WPF的相關知識,並學會使用<Image>標簽顯示圖片。

下一節我們將開始WPF的Panel類型的講解,並選擇合適的Panel作為圖片處理程序的載體。

謝謝 :-)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM