Windows PhoneでURLをIEで開きたいだけやのにわざわざコードかくなんて、
自称Expression Blendistのあたしとしては考えられないわー(棒
というわけで勉強がてら、WebBrowserTaskを開いてくれるビヘイビアを作成しました。
ビヘイビアっていうか正確にはTriggerActionですね。
Windows Phone クラスライブラリプロジェクトつくってこんなかんじにコードかきます。
using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.Windows.Interactivity; namespace OpenTasksBehaviorLibrary { public class OpenWebBrowserTaskAction : TriggerAction<DependencyObject> { public static readonly DependencyProperty UrlProperty = DependencyProperty.Register( "Url", typeof(string), typeof(OpenWebBrowserTaskAction), new PropertyMetadata(string.Empty)); public string Url { get { return (string)GetValue(UrlProperty); } set { SetValue(UrlProperty, value); } } protected override void Invoke(object parameter) { string url = string.Format(this.Url); Uri uri = new Uri(url); var task = new Microsoft.Phone.Tasks.WebBrowserTask(); task.Uri = uri; task.Show(); } } }
ちゃんとビヘイビアの中にOpenWebBrowserTaskTriggerActionが表示されてます。
もちろん、Urlはバインディングもできます。
このビヘイビアをボタンにつけるなりなんなりすれば、簡単にWebページをIEで開くことができます。
ほら、これでもうコードかかなくて済むでしょ!ふふーん♪
詳しくは後日、Webでご紹介します。