認知的プログラミング−Silverlightプログラミング

本日のハマりごと

アプリケーションの中から、メーラを起動してメール送信画面を表示しようと思い調べてみると…

HtmlPage.Window.Naviage(new Uri("mailto:hoge@hoge.com"));

とやれば良いとのこと。なので、キー入力ハンドラから上記を実行すると、Access Denied エラー。結果から言えば、ボタンハンドラから実行すると、正常に実行される。何で?

その後

セキュリティ対策として、ユーザーが明示的なアクションを起こした場合のイベントハンドラ以外からは実行できないそうです。理にかなっていると言えばかなっているが、アプリケーション設計の際に結構大きな制限となりそうな気がするのだが、どうなのだろうか。