日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VisualStudio2010開發(fā)絢麗Win7應用程序

【獨家特稿】Windows 7 UI中最令人興奮的元素莫過于新的任務欄或Jump List(跳轉(zhuǎn)列表),雖然這些都是視覺上的創(chuàng)新,但不可否認,現(xiàn)在應用程序UI已經(jīng)成為應用程序的一個重要組成部分。作為一名WPF開發(fā)人員,可以將這些元素放進你的應用程序,使其更適合于在Windows 7上運行,對主窗口內(nèi)外的行為可以完全自定義。

目前成都創(chuàng)新互聯(lián)公司已為成百上千的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)站空間網(wǎng)站托管、企業(yè)網(wǎng)站設計、羅江網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

#T#

使用WPF 4,你幾乎可以獲得Windows 7 UI最大特色的所有功能,WPF 4內(nèi)置支持Windows 7任務欄,包括自定義縮略圖預覽,從任務欄的進度條、圖標和Jump List就可以看見反饋信息,這些功能最終由Windows 7本地API提供,但WPF使用托管代碼打包了這些API,并以WPF類的形式暴露出來,這意味著你可以在XAML中創(chuàng)建Jump List和其它UI對象,并通過大量的依賴屬性綁定它們。

Visual Studio 2010擁有大量的與WPF相關的新功能,包括新的可視化設計器,拖放式數(shù)據(jù)綁定,在XAML中智能感知標記擴展,這些功能結(jié)合WPF新的任務欄類,使用最新版本Visual Studio 2010中的強大功能,讓你可以構(gòu)建最新的Windows 7應用程序。向您推薦《Visual Studio 2010應用與開發(fā)詳解》專題以便于更多了解Visual Studio 2010。

雖然WPF 4完全支持任務欄,但還包括了Windows 7 API不包括的其它功能,如Windows 7風格的通用對話框,你可以從Windows API代碼包中獲得這些功能。Windows API代碼包也有自己的一套Shell和任務欄類,從WPF 3.5 SP1中就有了。

數(shù)據(jù)綁定和Visual Studio 2010 WPF設計器

在談及Windows 7細節(jié)之前,我們先看看如何在Visual Studio 2010 WPF設計器中建立一個基本的數(shù)據(jù)驅(qū)動WPF應用程序。在Visual Studio 2010中,通過把數(shù)據(jù)源拖放到可視化設計器中,在設計時就可以設置好數(shù)據(jù)綁定。欲了解WPF設計,向您推薦《讓你的代碼“炫”起來——WPF開發(fā)教程》。

如果你拖動一個數(shù)據(jù)源到一個現(xiàn)有的控件上(假設是一個文本框中的文本字段),設計器將會為那個數(shù)據(jù)源創(chuàng)建一個窗口資源,然后將字段綁定到控件上。相反,如果你拖動數(shù)據(jù)源到一個容器上,設計器會創(chuàng)建一個合適的綁定控件,并將其添加到容器上,如果默認的控件并不合適,你還可以對其進行設置,在圖1中,我從AdventureWorks 2008示例數(shù)據(jù)庫拖放了一個視圖到窗口中,自動創(chuàng)建一個數(shù)據(jù)網(wǎng)格(data grid),在Windows 7任務欄上顯示進度時我們需要用到數(shù)據(jù)網(wǎng)格。

圖 1 在主窗口上放置一個視圖數(shù)據(jù)源,自動產(chǎn)生一個綁定的數(shù)據(jù)網(wǎng)格

作為基本設置的一個額外項目,我們將介紹一下使用漸變畫筆設置一個窗口的背景,Visual Studio 2010內(nèi)置了一個可視化筆刷編輯器,可以方便地創(chuàng)建和使用漸變和圖像刷以及純色,在一個筆刷屬性上點擊下拉列表,打開屬性編輯器,它允許你可視化地設置漸變或為圖像刷選擇一張圖像。

圖 2 使用可視化筆刷編輯器創(chuàng)建一個背景筆刷

Windows 7任務欄

在Windows 7中,你可以在任務欄上顯示長時間操作的進度,就象IE瀏覽器在狀態(tài)欄顯示文件下載的進度條一樣。

通過TaskbarItemInfo類,你可以和Windows 7任務欄進行交互,在主窗口上暴露一個依賴屬性,你可以在XAML中創(chuàng)建TaskbarItemInfo:

 
 
 
 
  1.  
  2.     
  3.         x:Name="TaskbarItemInfo1" 
  4.         Description="Customer Browser: Using WPF 4 on Windows 7”  
  5.         > 
  6.      
  7.  

你可以直接在XAML中編輯TaskbarItemInfo的屬性,也可以在Visual Studio屬性編輯器中進行編輯,XAML代碼片段僅僅顯示了名字和描述屬性,描述屬性就是為任務欄指定的提示文本,大多數(shù)任務欄功能都可以通過這個類的屬性獲得。

為了顯示進度條,需要設置兩個屬性:ProgressValue和ProgressState。ProgressState開始時為None,你可以將其設定為Indeterminate顯示一個帳篷式的進度條,或設置為Normal,我這里就是設為Normal的:

 
 
 
 
  1. TaskBarItemInfo1.ProgressValue = 0;  
  2. TaskBarItemInfo1.ProgressState = TaskbarItemProgressState.Normal; 

ProgressValue等于1.0時顯示一個完整的進度條,為了跟蹤數(shù)據(jù)表的填寫,我們首先執(zhí)行一個計數(shù)查詢,計算出視圖中的所有行數(shù),使用這個值作為整個進度條的值,然后連接數(shù)據(jù)表的RowChanged事件,再增加下面兩行代碼更新進度條:

 
 
 
 
  1. this.rowsUpdated++;  
  2. TaskbarItemInfo1.ProgressValue =  
  3.                             ((double)this.rowsUpdated)/this.rowCount; 

除了進度條外,你還可以使用圖標疊加提供應用程序狀態(tài)的反饋,圖標疊加是在任務欄應用程序圖標上方疊加一個小圖標,它可以用于應用程序狀態(tài)的傳達,如播放或暫停,在線或離線,我們將會使用圖標疊加為我們的客戶列表顯示一個過濾設置。

圖3在任務欄上使用圖標疊加顯示了相同的應用程序,你會看到主程序中選中了“按國家過濾”的復選框,列表中的客戶是按國家顯示的,如果選中這個過濾器,任務欄圖標上就會疊加顯示一個選中國家國旗的小圖標。

圖 3 使用過濾設置的客戶查看程序顯示了一個疊加圖標

通過對TaskbarItemInfo的Overlay屬性指定一個圖像資源就可設置一個疊加,對于示例,我為每個旗幟圖像創(chuàng)建了一個位圖資源,在設置過濾器時,我們可以從窗口資源載入圖像,并設置疊加:

 
 
 
 
  1. string resourceKey = “flag_” + countryName;  
  2. TaskbarItemInfo1.Overlay =  
  3.                      (ImageSource)this.TryFindResource(resourceKey); 

#p#

自定義縮略圖

應用程序縮略圖預覽是UI打扮的一部分,當你的程序運行在Windows 7上,這個功能可以免費獲得,Windows 7從任務欄為主程序窗口顯示一個彈出式的縮略圖,用戶可以使用縮略圖預覽激活或關閉應用程序,或是在應用程序?qū)嵗g進行切換。

你可以使用TaskbarItemInfo的ThumbnailClipMargin屬性自定義應用程序的縮略圖圖像,使用這個屬性,你可以在主窗口中指定一個矩形用于顯示縮略圖,而不是在整個主窗口范圍顯示。

ThumbnailClipMargin是一個依賴屬性,因此除了指定一個靜態(tài)的邊界外,你可以將其綁定到其它控件的邊界,使用那個控件進行應用程序預覽,我使用這個方法設置縮略圖預覽只顯示客戶數(shù)據(jù)網(wǎng)格。

圖 4 設置ThumbnailClipMargin綁定

圖4顯示了XAML中設置的綁定,也顯示了Visual Studio 2010中新的標記擴展智能感應。

縮略圖預覽也包括一套工具欄按鈕,允許用戶直接從預覽向程序發(fā)送命令,如發(fā)送媒體播放和暫停命令,對于示例,我創(chuàng)建了一個拷貝工具欄按鈕,從一個文本框中拷貝客戶的Email地址。

TaskbarItemInfo類包括一個集合屬性,叫做ThumbButonInfos,通過它你就可以設置一個預覽工具條,在Visual Studio 2010中,你可以在集合編輯器中編輯每個按鈕,當然也可以直接在XAML中編輯。

ThumbButtonInfo通常指定發(fā)送的命令,命令目標,按鈕使用的圖像和提示文本,對于我們的拷貝按鈕,代碼如下:

 
 
 
 
  1.                  Description="Copy E-Mail Address"                
  2. ImageSource="/wpf4example;component/Images/copy.png"   
  3.                  CommandTarget="{Binding ElementName=textBox1}" /> 

通過WPF命令的魔法,根據(jù)文本框中的文本是否處于選中狀態(tài),自動啟用或禁用按鈕。

圖 5 自定義縮略圖圖像和拷貝工具條按鈕

Jump List(跳轉(zhuǎn)列表)

Jump List是常規(guī)任務或與程序相關文件的列表,在任務欄應用程序圖標上點擊右鍵時彈出Jump List,你 可以增加文件,任務或你自己的任務分類自定義應用程序的Jump List。

Jump List與應用程序本身關聯(lián),而不是一個特定的運行實例,你可以為你的應用程序增加一個自定義Jump List,或是在XAML文件(app.xaml)中向應用程序?qū)ο蟾郊右粋€Jump List。

 
 
 
 
  1.  
  2.     
  3.               ShowFrequentCategory="True"> 
  4.         
  5.                    Description="Run Notepad"                ApplicationPath="c:\windows\notepad.exe"           
  6.                    IconResourcePath="c:\windows\notepad.exe"/> 
  7.      
  8.  

在XAML中設置Jump List時,應用程序初始化后它會自動應用到Windows Shell。

Jump List中可以包括跳轉(zhuǎn)任務,啟動其它程序,也包括一個挑戰(zhàn)路徑,鏈接到一個文件,如果你的應用程序是某個文件類型的注冊處理程序,在Jump List中才會顯示跳轉(zhuǎn)路徑。

Windows Shell維護一套最近和應用程序最常選擇的文件的列表,你可以通過設置ShowRecentCategory和ShowFrequentCategory在應用程序Jump List中顯示這些列表。

除了這些標準的分類外,你還可以創(chuàng)建自定義分類,下面的代碼增加一個跳轉(zhuǎn)任務鏈接到calc.exe,并將其歸為自定義分類。

 
 
 
 
  1. JumpTask jumpTask1 = new JumpTask();  
  2.                 jumpTask1.ApplicationPath =  
  3.                         "C:\\windows\\system32\\calc.exe";  
  4.                 jumpTask1.IconResourcePath =  
  5.                         "C:\\windows\\system32\\calc.exe";  
  6.                 jumpTask1.Title = "Calculator";  
  7.                 jumpTask1.CustomCategory = "Calculation";  
  8.  
  9. JumpList jumpList1 = JumpList.GetJumpList(App.Current);  
  10. jumpList1.JumpItems.Add(jumpTask1);  
  11. jumpList1.Apply(); 

圖 6 一個有標準分類和自定義分類的Jump List

Windows 7對話框和控件

WPF 4中未包括Windows 7的部分是通用文件對話框API,你可以從Windows API代碼包獲得,代碼包讓你可以從WPF應用程序啟動通用對話框。將代碼包程序集引入到你的應用程序,就可以使用代碼包命名空間中的類,包括CommonDialog。

Windows 7也包括一些著名的文件夾,如桌面,圖片庫,你可以在CommonDialog指定文件路徑,下面的代碼指定的就是打開圖片庫:

 
 
 
 
  1. CommonOpenFileDialog dlg = new CommonOpenFileDialog();  
  2. dlg.InitialDirectoryShellContainer =   
  3.                          (ShellContainer)KnownFolders.PicturesLibrary; 

你可以使用已知的文件夾或Shell對象為通用文件打開或文件保存對話框指定許多設置,例如,下面的代碼增加視頻庫作為打開對話框新的打開位置:

 
 
 
 
  1. dlg.AddPlace((ShellContainer)KnownFolders.VideosLibrary,  
  2.              FileDialog.AddPlaceLocation.Bottom); 

圖 7 Windows 7打開文件對話框增加了一個自定義位置

Windows API代碼包也提供了一個打包的WPF資源瀏覽器控件,你可以使用它來顯示文件和其它Shell對象,只需要在XAML文件中聲明它就可以使用了。

 
 
 
 
  1.           x:Name=”explorerBrowser1”/> 

然后調(diào)用底層控件上的Navigate顯示在你窗口中選擇的文件夾。

 
 
 
 
  1. explorerBrowser1.ExplorerBrowserControl.Navigate(  
  2.  (ShelObject)KnownFolders.SampleMusic); 

圖 8  運行在一個示例應用程序中的Windows API代碼包中的

新UI,新工具

使用WPF 4和Windows API代碼包,通過完整的Visual Studio 2010 UI,你可以在本地Windows 7應用程序上加入很炫的功能,這對于開發(fā)人員來說可以收獲巨大的成功感,新工具,新UI,讓一切更美好!點擊這里下載Visual Studio 2010。

原文出處:http://www.devx.com/VS_2010/Article/43562?trk=DXRSS_LATEST

原文名:Using Visual Studio 2010 to Write Killer WPF Apps for Windows 7

作者:Steve Apiki


當前文章:VisualStudio2010開發(fā)絢麗Win7應用程序
文章路徑:http://www.dlmjj.cn/article/dhcpsdh.html