我正在尝试在一个HyperlinkButton应用程序中“暂停”一个WP7,这样用户就可以确认是否离开应用程序并按照链接进行操作。这些事件的系列如下:
用户单击HyperlinkButton
MessageBox以确认他们想离开应用程序并访问这个外部站点。
我的问题是:可以让 HyperlinkButton 等待用户的响应吗?
目前,我已经破解了一个解决方案如下:
<HyperlinkButton Tag="http://www.google.com/" Tap="ConfirmBeforeLoading()"/>然后,ConfirmBeforeLoading会提示用户,如果他们同意,它将使用Tag属性中的地址创建一个新的WebBrowserTask。
这是可行的,但似乎是“无趣的”。我是否可以在HyperlinkButton中使用普通的NavigateUri,并让它等待用户的响应?
事先非常感谢!
发布于 2011-10-12 05:08:23
试试这个,也许对你有帮助,
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....
}对我来说很有用。
https://stackoverflow.com/questions/7735085
复制相似问题