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

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 に答える
0

return ステートメントを使用できます。

return;

あれは、

if (condition) 
{
     return;
}
于 2013-08-30T10:06:40.640 に答える