Windows Phone 7ではアプリ間連携が出来ません。ですので例えば特定のYouTubeのビデオが見たい場合はWebBrowserTaskにURLを設定して、ブラウザ上で表示する必要がありました。ただ、YouTubeアプリが提供されているのであれば、多機能であるそれを使いたいです。
WebBrowserTaskを使ってVideoIDを設定して、YouTubeアプリを起動する方法がありましたので試してみました。WebBrowserTask.URLプロパティに、vnd.youtubeスキーマとVideoIDをEscapeDataStringメソッドでエスケープをし設定します。
var task = new WebBrowserTask(); task.URL = Uri.EscapeDataString("http://www.youtube.com/watch?v=PbEVKi1wEk0"); task.Show();
上記のコードを実行してみました。普通はこんな感じです。

var task = new WebBrowserTask(); task.URL = Uri.EscapeDataString("vnd.youtube:PbEVKi1wEk0"); task.Show();
上記のコードを実行してみました。

もっと汎用的に使えるようにURLからVideoIDを抜き出して、YouTubeアプリを起動させるコードがstackoverflowにありました。
var YOUTUBE_VIDEO_URL = "http://www.youtube.com/watch?v=PbEVKi1wEk0"); var Youtube = new Regex("youtu(?:\\.be|be\\.com)/(?:.*v(?:/|=)|(?:.*/)?)([a-zA-Z0-9-_]+)"); var youtubeMatch = Youtube.Match(YOUTUBE_VIDEO_URL); var id = string.Empty; if (youtubeMatch.Success) id = youtubeMatch.Groups[1].Value; var task = new WebBrowserTask(); task.URL = "vnd.youtube:"+ id +"?vndapp=youtube_mobile"; task.Show();







