我正在尝试'暂停'WP7应用中的HyperlinkButton
,以便用户可以确认是否离开应用并点按链接。一系列事件如下:
HyperlinkButton
MessageBox
弹出以确认他们要离开应用并访问此外部网站我的问题是:我可以 HyperlinkButton
等待用户的回复吗?
目前,我已经破解了以下解决方案:
<HyperlinkButton Tag="http://www.google.com/" Tap="ConfirmBeforeLoading()"/>
然后 ConfirmBeforeLoading
会提示用户,如果他们同意,则会使用WebBrowserTask
属性中的地址创建新的Tag
。
这样可行,但似乎是“hackish”。有什么方法可以使用普通的HyperlinkButton
NavigateUri
并让它等待用户的回复吗?
非常感谢提前!
答案 0 :(得分:1)
尝试这个,可能对你有帮助,
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....
}
它为我工作。