アプリ内でWebBrowserコントロールを使う方法もありますが、やはり表示領域の小さいコントロールを使うよりもIEの方が閲覧しやすいです。アプリからIEを起動させる事が出来ます。
Microsoft.Phone.Tasks名前空間のCameraCaptureTaskクラスを使用します。WebBrowserの表示には、 Showメソッドを使用します。
var url = string.Format("http://www.google.co.jp/m/directions?dirflg=r&saddr={0}&daddr={1}", Uri.EscapeUriString("大阪"), Uri.EscapeUriString("東京")); var task = new Microsoft.Phone.Tasks.WebBrowserTask(); task.URL = Uri.EscapeDataString (url); task.Show();
上記のコードを実行してみました。

よもや話ですが、WebBrowserTaskへ「http://example.com/?hoge=hoge&piyo=piyo」という文字列をURLプロパティへ設定すると、パラメータのpiyoの部分が除去されてしまいます。これは、URLプロパティへ設定時にURLデコードが行われているからだと思われます。
Windows Phone エミュレータがBeta版だった時には、上記のURLプロパティにはURL文字列をそのままの形で渡せたのですが、RTW版の時点で修正がかかり、Uri.EscapeDataStringメソッドでエスケープしたURL文字列を渡さないといけないようになりました。
MSDNフォーラムでこの現象はバグだ(要出典)との回答があったため、修正が待たれていましたが、WebBrowserTask.URL Propertyのページにて注釈が追加されました。
Windows Phone OS 7.1での修正点(Uriプロパティの追加)
ブラウザアプリ起動時の表示ページを指定するURLプロパティが、Windows Phone OS 7.1からは非推奨となりました。

代わりにUriプロパティが追加されており、非推奨プロパティが今後いつ削除されてしまうのか判らないため、OS 7.1以降で使うアプリにはURLプロパティは使用しないほうが良いでしょう。
Windows Phone OS 7.1用にサンプルコードを書き換えておきます。
var url = string.Format("http://www.google.co.jp/m/directions?dirflg=r&saddr={0}&daddr={1}", Uri.EscapeUriString("大阪"), Uri.EscapeUriString("東京")); var task = new Microsoft.Phone.Tasks.WebBrowserTask(); task.Uri = new Uri(url); task.Show();
実行結果は、Windows Phone OS 7.0の時と同じです。







