Windows Phone 7 Tips (4)

作者: Alexis  來源: 博客園  發布時間: 2011-04-19 10:45  閱讀: 846 次  推薦: 0   原文鏈接   [收藏]  

  1、Windows Phone 7 中常見的使用WebClient代碼段:

 
WebClient twitter = new WebClient();
twitter.DownloadStringCompleted
+= new DownloadStringCompletedEventHandler(twitter_DownloadStringCompleted);
twitter.DownloadStringAsync(
new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=" + TwitterNameBox.Text));

  2、在Windows Phone 7 程序Deactivated的時候,我們需要處理程序的持久化數據和瞬態數據。

  A、將持久化數據保存到IsolatedStroage。

  B、在App.xaml.cs的Deactivated事件中處理應用程序瞬態數據,將應用程序瞬態數據保存至PhoneApplicationService.State中。

  C、在頁面的OnNavigatedFrom事件中處理頁面瞬態數據,將頁面瞬態數據保存至PhoneApplicationPage.State中。

  3、對于通過WebClient獲取到的XML數據源 ,我們可以使用Linq To XML 方便操作,獲取其屬性以便綁定:

 
XElement xmlTweets = XElement.Parse(e.Result);
TwitterList.ItemsSource
= from tweet in xmlTweets.Descendants("status") select new TwitterItem{message = tweet.Element("text").Value};

  4、在使用linq to xml需要注意返回的xml數據有沒有含命名空間。

  這個是從tweet search wp7 項目中截取的部分返回xml數據,注意是返回xml數據中包含命名空間。

  則使用linq to xml 處理數據時也需要加上命名空間,tweet search wp7 項目處理代碼如:

  如果返回的數據不包含命名空間,如下:

 

  則處理代碼如下:

  5、在Visual Studio 默認并沒有NavigateToEventHandler的快捷鍵,我們可以自行定義:

  選擇菜單欄--> 工具---> 選項,找到 鍵盤節點,在搜索框中輸入NavigateToEventHandler,會找到EditorContextMenus.XAMLEditor.NavigateToEventHandler,然后按快捷鍵Ctrl+G+T(當然你可以自行定義),點擊Assign:

  這樣我們就可以使用快捷鍵Ctrl+G+T了,就不需要右擊選擇轉到事件處理,其實我們可以看到快捷鍵已經添加到右擊選項中了:

  6、Windows Phone 7 中應用程序設計需要遵循的Three Red Threads: Personal、Relevant、Connected。

  7、在Windows Phone7中取得屏幕截圖(轉自http://mxmxm.com)。

  分享一個取得屏幕截圖的代碼,但是由于程序不能在后臺運行,所以只能通過按鈕或者菜單取得截圖,然后把圖片保存在相冊中。

 
public void CaptureScreen(object sender, EventArgs e)
{
  WriteableBitmap bmp
= new WriteableBitmap(480, 800);
  bmp.Render(App.Current.RootVisual,
null);
  bmp.Invalidate();

  MemoryStream stream
= new MemoryStream();
  bmp.SaveJpeg(stream, bmp.PixelWidth, bmp.PixelHeight,
0, 80);
  stream.Seek(
0, SeekOrigin.Begin);

  MediaLibrary library
= new MediaLibrary();
  string filename = "ScreenShot_" + DateTime.Now.ToString("yyyy-MM-dd_hh:mm:ss");
  library.SavePicture(filename, stream);
  stream.Close();
}

  8、讓我們的phone 7 震動:

 
VibrateController vib = VibrateController.Default;
vib.Start(TimeSpan.FromMilliseconds(
100));

  9、WPF的資源的資源包括靜態資源(StaticResource)和動態資源(DynamicResource),他們之間的區別是:

  靜態資源在第一次編譯后即確定其對象或值,之后不能對其進行修改。動態資源則是在運行時決定,當運行過程中真正需要時,才到資源目標中查找其值。

  10、在windows phone 7中我們只需關注靜態資源(StaticResource)

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()