0

我有一个超链接按钮。当我点击它时,它会启动带有链接的互联网浏览器,就像他应该做的那样。

我想在某些情况下取消此 HyperlinkBut​​ton 事件。

例如:

  • 用户点击超链接按钮
  • 应用程序检查互联网连接
  • 如果没有互联网连接,请不要启动互联网浏览器,留在应用程序中

示例代码(类似的东西):

<Page x:Class="App1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:App1" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
<Grid>
    <HyperlinkButton NavigateUri="http://stackoverflow.com/" Content="GO TO WEBPAGE" Click="HyperlinkButton_Click_1" />
</Grid>   
</Page>

private void HyperlinkButton_Click_1(object sender, RoutedEventArgs e)
{
    var connectionProfile = NetworkInformation.GetInternetConnectionProfile();
    if (connectionProfile == null || connectionProfile.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.LocalAccess || connectionProfile.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.None) 
    {
         NO INTERNET, CANCEL THE EVENT!!!!!!!!
    }
}

那么,点击后如何取消 HyperlinkBut​​ton 事件呢?

4

3 回答 3

1

您可以使用return关键字。

MSDN

The return statement terminates execution of the method in which it
appears and returns control to the calling method.
It can also return the value of the optional expression.
If the method is of the type void, the return statement can be omitted.

进一步参考

于 2013-08-30T10:05:13.950 回答
0

您可以使用 return 语句。

return;

那是,

if (condition) 
{
     return;
}
于 2013-08-30T10:06:40.640 回答
0

你使用if错误的方式。你应该这样做。

private async void HyperlinkButton_Click_1(object sender, RoutedEventArgs e)
{
    var connectionProfile = NetworkInformation.GetInternetConnectionProfile();
    if (connectionProfile != null && connectionProfile.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess)
    {
        //TODO: open link
    }
    else
    {
        await new Windows.UI.Popups.MessageDialog("Internet is not available.").ShowAsync();
    }
}
于 2013-08-30T10:08:48.783 回答