Windows phone 7 暂停WP7超链接按钮?
我正在尝试在WP7应用程序中“暂停”一个Windows phone 7 暂停WP7超链接按钮?,windows-phone-7,hyperlink,Windows Phone 7,Hyperlink,我正在尝试在WP7应用程序中“暂停”一个超链接按钮,以便用户可以确认是否离开应用程序并跟随链接。这一系列的事件看起来像: 用户单击超链接按钮 MessageBox弹出确认他们想要离开应用程序并访问此外部站点 如果用户同意,则加载网页;如果没有,用户将返回应用程序 我的问题是:我可以让超链接按钮等待用户的响应吗? 目前,我已经破解了一个解决方案,如下所示: <HyperlinkButton Tag="http://www.google.com/" Tap="ConfirmBeforeLoad
超链接按钮
,以便用户可以确认是否离开应用程序并跟随链接。这一系列的事件看起来像:
MessageBox
弹出确认他们想要离开应用程序并访问此外部站点超链接按钮
等待用户的响应吗?
目前,我已经破解了一个解决方案,如下所示:
<HyperlinkButton Tag="http://www.google.com/" Tap="ConfirmBeforeLoading()"/>
confirbeforeloading
然后提示用户,如果用户同意,它将使用标记中的地址创建一个新的WebBrowserTask
这是可行的,但似乎有点“黑客”。是否有任何方法可以将正常的HyperlinkButton
与NavigateUri
一起使用,让它等待用户的响应
非常感谢 试试这个,也许对你有帮助
Popup mypopup; //golbal variable
private void hyperlinkButton1_Click(object sender, RoutedEventArgs e)
{
LayoutRoot.Opacity = 0.6;
mypopup = new Popup();
Border border = new Border();
StackPanel st = new StackPanel();
TextBlock tb = new TextBlock();
tb.Text = "Visit website";
tb.FontSize = 24;
Button btnok = new Button();
btnok.Content = "Ok";
btnok.Click += new RoutedEventHandler(btnok_Click);
Button btncancel = new Button();
btncancel.Content = "Cancel";
btncancel.Click += new RoutedEventHandler(btncancel_Click);
st1.Orientation = System.Windows.Controls.Orientation.Horizontal;
st1.Children.Add(btnok);
st1.Children.Add(btncancel);
st.Children.Add(tb);
st.Children.Add(st1);
border.Child = st;
mypopup.VerticalOffset = 25;
mypopup.HorizontalOffset = 25;
mypopup.Margin = new Thickness(LayoutRoot.ActualWidth / 4, LayoutRoot.ActualHeight / 3, 0, 0);
mypopup.Child = border;
mypopup.IsOpen = true;
}
void btncancel_Click(object sender, RoutedEventArgs e)
{
LayoutRoot.Opacity = 1;
mypopup.IsOpen = false;
}
void btnok_Click(object sender, RoutedEventArgs e)
{
//here what do you want....
}
这对我来说很有用。为什么不使用常规按钮,将内容设置为URL,在点击处理程序中弹出消息框,并在用户同意的情况下导航?这当然是可能的,Praetorian,我只是认为超链接按钮
更容易适应这种情况。不过,我认为使用你建议的其他控件会更容易。谢谢Pavan,这不是我最初的想法,但我会尝试一下。