次のように、bar.text がすでに http:// で始まっているかどうかをテストできます。
private void bargo_Click(object sender, RoutedEventArgs e)
{
string url = bar.Text;
if (!url.StartsWith("http://"))
{
url = "http://" + url;
}
web.Navigate(new Uri(url);
}
ユーザーが「https://」または「ftp://」(または gopher://、irc://、ircs://、ftp://、news://、nntp://、worldwind ://、telnet://、svn://、git://、mms://、および mailto:) このメソッドは「http://」を追加して失敗します。
より良い解決策は、uri の代わりに文字列を web.Navigate() に渡すことです。文字列を渡すと、WebBrowser コントロールは、ブラウザーのように http:// を自動的に追加します。
private void bargo_Click(object sender, RoutedEventArgs e)
{
web.Navigate(bar.Text);
}
編集: Windows Phone 7の場合
private void bargo_Click(object sender, RoutedEventArgs e)
{
web.NavigateToString(bar.Text);
}