Windows Phone 7 Tips (4)

來源:互聯網
上載者:User

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)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.