<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      試水Windows 8 Metro application(xaml)及我的一些理解

      前不久,微軟召開了Build大會(huì),向開發(fā)者們公布了最新版本的Windows 系統(tǒng),即Windows 8的一些信息。從各方面的反應(yīng)來看,總體還是比較積極的(微軟這次的大會(huì)算是舍了大本了,每個(gè)參會(huì)人員都免費(fèi)得到一臺平板電腦呢Nyah-Nyah),我最近也找到有關(guān)的視頻了解學(xué)習(xí)了一下,和很多朋友一樣,我從開發(fā)人員的角度,比較關(guān)注的是,新版的Windows系統(tǒng),及其在界面和整個(gè)生態(tài)環(huán)境方面的一些重大改變,將給我們這個(gè)行業(yè),或者我們自己的公司和個(gè)人帶來什么切身的影響。

      帶著這樣的疑問,我下載了微軟提供的Windows Developer Preview版本安裝試用了一下,這一篇文章將結(jié)合我自己的體會(huì),給大家一些實(shí)際的參考信息。

      關(guān)于BUILD大會(huì)的兩個(gè)主題演講,有時(shí)間的朋友,應(yīng)該全部看一遍

      http://www.buildwindows.com/

      國內(nèi)也有視頻網(wǎng)站有轉(zhuǎn)載,我這里就不介紹了。

       

      如果你想嘗鮮使用Windows Developer Preview,可以在這里下載

      http://msdn.microsoft.com/en-us/windows/apps/br229516 

      我是參照下面這篇文章的介紹進(jìn)行安裝的,我用移動(dòng)硬盤安裝,還比較順利。

      http://www.rzrgm.cn/wpf_gd/archive/2011/09/15/2177810.html

      【備注】如果對系統(tǒng)安裝不是特別清楚的同學(xué),我建議你最好燒錄一張DVD,然后在單獨(dú)的機(jī)器安裝,否則如果萬一出現(xiàn)問題,可能會(huì)對你的工作造成影響

      安裝好之后,可以看到下面這樣的界面,這就是一再被說到Metro界面風(fēng)格

      image

       

      很顯然,界面是第一個(gè)重大的變化。但實(shí)際上,這個(gè)界面并不是Windows 8的首創(chuàng),這個(gè)界面最早是出現(xiàn)在Zune中,然后出現(xiàn)在Windows Phone 7中,現(xiàn)在只是將它的使用范圍進(jìn)一步擴(kuò)大,微軟的目標(biāo)是希望以后的桌面電腦、平板電腦、手機(jī)都使用這種風(fēng)格的界面。

      【備注】據(jù)說,前不久,Metro這種界面設(shè)計(jì)的風(fēng)格正式申請了專利,而且獲得了認(rèn)證

      http://appft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220110202834%22.PGNR.&OS=DN/20110202834&RS=DN/20110202834

       

      這種界面無疑是很適合觸摸式的操作的,而觸摸式是一個(gè)趨勢,這無可阻擋,所以Metro的出現(xiàn)時(shí)勢所必然。然而,之所以可以單獨(dú)申請專利,是因?yàn)樗謪^(qū)別于iPhone或者Android 的那種界面(仍然是一排一排的按鈕),我個(gè)人感覺還是不錯(cuò)的,Metro的這種樣式,給用戶的信息量會(huì)多一些。

       

      不過,話說回來,Windows 8作為第一個(gè)使用Metro的操作系統(tǒng),為了保證向后兼容性,是不可能只提供Metro這種樣式的界面的,它仍然保留了傳統(tǒng)的桌面。這個(gè)界面其實(shí)跟Windows 7很像,但也是有很多改進(jìn)的。這里就先不做太多贅述

      image

       

      也就是說,至少目前可以肯定的是,Windows 8將支持兩種風(fēng)格的應(yīng)用程序

      1. 傳統(tǒng)的應(yīng)用程序,通過exe等形式發(fā)布,用戶可以自己復(fù)制,或者下載,然后安裝

      2. Metro應(yīng)用程序,這些應(yīng)用程序是必須通過Windows Store來發(fā)布,并且傳播的,用戶也只能通過這個(gè)Store去下載和安裝

      【備注】我們很多人都知道Apple Store,微軟在手機(jī)領(lǐng)域也有一個(gè)Windows Phone Marketplace ,以后還將有一個(gè)統(tǒng)一的Windows Store(http://msdn.microsoft.com/en-us/windows/apps/br216180?lcid=1033)

       

      從第二點(diǎn)來看,我覺得不會(huì)有太多人反對Windows 8以及Metro。從各方面的聲音來看,大家都提到一個(gè)字:Opportunity (機(jī)會(huì)),是的,對于Windows平臺的廠商(微軟),最終用戶,還有開發(fā)商以及開發(fā)人員,這意味著新的機(jī)會(huì)。

       

      在BUILD大會(huì)上,微軟的高層除了演示了各種客戶端的效果之后,其實(shí)還著重在強(qiáng)調(diào)云的概念。這是自然而然的,Windows 8如果想要華麗轉(zhuǎn)身,成為桌面電腦+平板電腦+手機(jī)的統(tǒng)一的系統(tǒng),絕不僅僅是客戶端的事情。微軟的Windows Azure以及相關(guān)配套的一些服務(wù),在很早之前就為此在做準(zhǔn)備了。典型的問題就是,這么多Application,其實(shí)到時(shí)候都是統(tǒng)一托管在Windows Azure平臺上。另外,值得一說的是,Windows 8登錄就直接繼承了Windows Live ID,可以期待以后,只要有Windows Live ID,在不同設(shè)備上就能很自然地同步資源,或者進(jìn)行一致性的操作。

       

      好的,那么回到開發(fā)人員的視角,既然Metro勢在必行,那么我們有什么樣的機(jī)遇和挑戰(zhàn)呢?

       

      這次BUILD大會(huì)前后,就一直有很多朋友在議論,說微軟要拋棄Silverlight等等。這個(gè)說法其實(shí)不準(zhǔn)確。準(zhǔn)確地說是,Silverlight無法在Metro樣式的應(yīng)用程序中運(yùn)行,即便是Metro的IE,也是不接受Silverlight的,當(dāng)然,它同時(shí)也不接受Flash。它不接受任何插件,它為HTML 5而來。

      是的,你沒有聽錯(cuò),在Windows 8中,確實(shí)有兩個(gè)IE,一個(gè)是Metro版本的,一個(gè)是桌面版本的。(實(shí)際上,微軟正在開發(fā)Metro Office,我實(shí)在想看看那時(shí)怎么樣一個(gè)Office)

       

      下面這個(gè)是Metro版本的IE

      image

      下面這個(gè)是桌面版的IE,與Windows 7里面的IE 9沒有太大的區(qū)別,雖然這個(gè)版本叫IE 10.這個(gè)IE 里面當(dāng)然是繼續(xù)支持Silverlight的

      image

       

      其實(shí)這里有一句潛臺詞,大家可以試想一下,雖然說Windows 8是希望覆蓋桌面電腦、平板電腦、手機(jī)(我相信這個(gè)目標(biāo)也的確可以實(shí)現(xiàn)),但相比較桌面電腦而言,平板電腦和手機(jī)其實(shí)是沒有桌面的概念的,所以,我可以預(yù)見,在平板電腦和手機(jī)里面,就肯定只有Metro樣式的應(yīng)用程序,在它們上面是不支持Silverlight的。

      其實(shí),我自己做過基于Silverlight的項(xiàng)目,我的體會(huì)和很多人都相似,我沒有寄太大希望它能用在internet上面,相反,Silverlight目前在一些企業(yè)內(nèi)部項(xiàng)目中倒還是用得不錯(cuò)。因?yàn)椋琒ilverlight作為一種技術(shù),有它適用的地方,我們不能期望它能用在所有地方。

       

      但是,一個(gè)很大的好消息是,擁有Silverlight或者WPF開發(fā)經(jīng)驗(yàn)的開發(fā)人員,將能夠在Metro應(yīng)用程序開發(fā)中占得先機(jī)。為什么這么說呢?因?yàn)镸etro應(yīng)用程序,支持三種編寫方式

      1. javascript

      2. xaml + C#/VB.NET

      3. C++

       

      是的,你看到有XAML,我們對這個(gè)不是很熟悉了嗎?如果是,你的經(jīng)驗(yàn)可以得到復(fù)用。我下面就用這種方式來創(chuàng)建我的第一個(gè)應(yīng)用程序,大家可以看看,其實(shí)也不是特別難。

      【備注】這里的XAML與WPF或者Silverlight從本質(zhì)上是一樣的,但是也有些不一樣,本文不會(huì)做太多深入的展開。

       

      在下載得到的Windows Developer Preview這個(gè)系統(tǒng)中,已經(jīng)預(yù)先安裝好了Visual Studio 11 Express(估計(jì)正式版該叫Visual Studio 2012吧Hot smile,雖然這名兒實(shí)在讓人有點(diǎn)瘆得慌)

      目前這個(gè)版本,只有下面幾個(gè)模板

      image

       

      我參照微軟提供的例子,做了一個(gè)簡單的應(yīng)用程序,體驗(yàn)了一下

      <UserControl x:Class="TheFirstMetroApplication.MainPage"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
          mc:Ignorable="d"
          d:DesignHeight="768" d:DesignWidth="1366"
          xmlns:local="using:TheFirstMetroApplication" >
      
          <ScrollViewer>
              <StackPanel>
      
                  <TextBlock Text="{Binding Title}" FontSize="30" Margin="10"></TextBlock>
      
                  <ItemsControl ItemsSource="{Binding Items}">
                      <ItemsControl.ItemTemplate>
                          <DataTemplate>
                              <StackPanel Margin="50,0,0,10">
                                  <HyperlinkButton Content="{Binding Title}" FontSize="20"></HyperlinkButton>
                                  <TextBlock Text="{Binding PubDate}"></TextBlock>
                              </StackPanel>
      
                          </DataTemplate>
                      </ItemsControl.ItemTemplate>
                  </ItemsControl>
      
              </StackPanel>
          </ScrollViewer>
      
      </UserControl>

      image

      大家看這樣的語法,應(yīng)該沒有什么不好理解吧

      【備注】其實(shí)還是有些細(xì)節(jié)改變了,例如HyperLinkButton,居然沒有了NavigationUrl屬性了,為什么呢?就是說不能直接做導(dǎo)航,而需要去響應(yīng)事件代碼。(這方面我還沒有時(shí)間深入去研究每個(gè)細(xì)節(jié)點(diǎn),以后再看)

      后臺代碼的部分,也是我們屬性的C#

       

      using System;
      using System.Collections.ObjectModel;
      using System.Threading.Tasks;
      using Windows.UI.Xaml;
      using Windows.Web.Syndication;
      
      namespace TheFirstMetroApplication
      {
          partial class MainPage
          {
              public MainPage()
              {
                  InitializeComponent();
      
                  Loaded += new RoutedEventHandler(MainPage_Loaded);
              }
      
              void MainPage_Loaded(object sender, RoutedEventArgs e)
              {
                  GetFeedAsync("http://www.rzrgm.cn/chenxizhang/rss");
              }
      
              public class FeedData
              {
                  public string Title { get; set; }
      
                  // using System.Collections.ObjectModel;
                  private ObservableCollection<FeedItem> _Items = new ObservableCollection<FeedItem>();
                  public ObservableCollection<FeedItem> Items
                  {
                      get
                      {
                          return this._Items;
                      }
                  }
              }
      
              public class FeedItem
              {
                  public string Title { get; set; }
                  public string Author { get; set; }
                  public string Content { get; set; }
                  public DateTime PubDate { get; set; }
      
              }
      
      
              private async Task GetFeedAsync(string feedUriString)
              {
                  // using Windows.Web.Syndication;
                  SyndicationClient client = new SyndicationClient();
                  Uri feedUri = new Uri(feedUriString);
      
                  try
                  {
                      SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);
                      FeedData feedData = new FeedData();
                      feedData.Title = feed.Title.Text;
      
                      foreach (SyndicationItem item in feed.Items)
                      {
                          FeedItem feedItem = new FeedItem();
                          feedItem.Title = item.Title.Text;
                          feedItem.PubDate = item.PublishedDate.DateTime;
                          feedItem.Author = item.Authors[0].Name.ToString();
                          if (feed.SourceFormat == SyndicationFormat.Atom10)
                          {
                              feedItem.Content = item.Content.Text;
                          }
                          else if (feed.SourceFormat == SyndicationFormat.Rss20)
                          {
                              feedItem.Content = item.Summary.Text;
                          }
                          feedData.Items.Add(feedItem);
                      }
                      this.DataContext = feedData;
                  }
                  catch (Exception ex)
                  {
                      // Log Error.
                      
                  }
              }
      
      
          }
      
      }
      

       

      這段代碼的意思是,在頁面加載的時(shí)候,讀取我的博客列表,并且綁定在當(dāng)前頁面上。

      另外,需要注意的是,程序啟動(dòng)的方式與WPF和Silverlight都有些不同

      image

      然后,還有一個(gè)專門的appxmanifest文件,來設(shè)置與程序有關(guān)的信息

      image

      在當(dāng)前的開發(fā)環(huán)境中,你可以選擇直接部署到本機(jī),也可以部署到模擬器,當(dāng)然還可以發(fā)布到Windows Store,我下面部署到模擬器給大家看一下

      image

      按下F5鍵就可以部署調(diào)試,一個(gè)類似于平板電腦的界面打開了

      image

      這個(gè)程序可以在桌面上找到

      image

      點(diǎn)擊右鍵,可以很方便地進(jìn)行卸載

      image

       

      就這樣,我們完成了第一個(gè)Metro應(yīng)用程序,雖然這只是皮毛中的皮毛。但至少我們有信心去接受這個(gè)挑戰(zhàn)和機(jī)遇,至少我是這么看的。

      Metro應(yīng)用程序,將很容易與Windows 系統(tǒng)進(jìn)行無縫整合,例如我們希望在Windows 里面搜索時(shí)能夠直接進(jìn)入我們的應(yīng)用程序中檢索,得到結(jié)果,我們只需要在程序的設(shè)置中打開一個(gè)開關(guān)。它這里稱為所謂的Declarations

      image

      然后,在EntryPoint里面實(shí)現(xiàn)一個(gè)方法

      image

      【備注】這里具體功能我沒有實(shí)現(xiàn),但那個(gè)參數(shù)里面是包含了用戶要搜索到文字的

       

      在Windows里面,如何集成搜索功能呢。請看下面的例子。

      【備注】由于我沒有對搜索進(jìn)行定制,所以它仍然是打開了主界面

      image

       

       

      總結(jié):Windows 8提出一個(gè)全新的設(shè)想,不光是界面上的。我個(gè)人覺得應(yīng)該是值得期待的,本文我通過例子編寫了第一個(gè)基于XAML的Metro應(yīng)用程序,大家可以發(fā)現(xiàn),其實(shí)也并不是很復(fù)雜,我們之前的經(jīng)驗(yàn)可以得到復(fù)用,這無疑讓我們有了更充分地理由,迎接這個(gè)機(jī)遇和挑戰(zhàn)。

       

      更多動(dòng)手實(shí)驗(yàn),請參考Windows 8 Hand-On Labs

      http://www.buildwindows.com/Labs

      posted @ 2011-10-25 22:09  陳希章  閱讀(7406)  評論(21)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产女人喷潮视频免费| 蜜臀av一区二区三区日韩| 国产精品一区二区三区三级| 又长又粗又爽又高潮的视频| 熟女人妻视频| 尤物国精品午夜福利视频| 日韩av一区二区精品不卡| 欧美精品亚洲精品日韩专| 55大东北熟女啪啪嗷嗷叫| 亚洲中文字幕在线观看| 欧美老人巨大XXXX做受视频| 云龙县| 国产欧美亚洲精品a| 亚洲精品成人福利网站| 豆国产97在线 | 亚洲| 亚洲AV高清一区二区三区尤物| 色婷婷欧美在线播放内射| 亚洲免费成人av一区| 东京热一精品无码av| 日韩一区二区三区女优丝袜 | 中文字幕国产精品二区| 少妇高潮喷水久久久影院| 亚洲成人av一区二区| 麻豆一区二区中文字幕| 99久久精品美女高潮喷水| 国产私拍福利精品视频| 国产69精品久久久久99尤物| 蜜臀久久99精品久久久久久| 综合久青草视频在线观看| 一亚洲一区二区中文字幕| 免费看视频的网站| 亚洲成a人片在线观看中 | 一区二区三区岛国av毛片| 国产精品v片在线观看不卡| 天天狠天天透天天伊人| 岛国最新亚洲伦理成人| 老师扒下内裤让我爽了一夜| 无码人妻丰满熟妇啪啪| 国产成人无码av大片大片在线观看| 国产激情艳情在线看视频| 中文在线最新版天堂|