2016-01-12 8 views

答えて

11

私はGestureRecognizersを使用して、ラベルにTap Gestureを追加することを示唆しています。 Ref: here

var label = new Label() 
{ 
    Text="My Hyperlink" 
}; 
var tapGestureRecognizer = new TapGestureRecognizer(); 
tapGestureRecognizer.Tapped += (s, e) => { 
    // handle the tap 
}; 
label.GestureRecognizers.Add(tapGestureRecognizer); 

GestureRecognizerLabelから継承Viewクラスのパブリックプロパティです。 here

14

もっと標準的なアプローチを採用し、Buttonを使用します。アプリの背景に合わせて背景を設定し、枠線を削除するだけです。その後、特別なTapGestureRecongniserコードの必要はありません。 (擬似コード:)

XAMLの下:

<Button Text="Click Me!" Background= "YourAppBackground" BorderWidth="0" Clicked="OnButtonClicked" /> 

コードビハインド:

void OnButtonClicked(object sender, EventArgs args) 
{ 
    //Open your link in here 
} 
+1

をこの方法では? –

0

はい、あなたはどちらかを使用するボタンをクリックまたはTapGestureRecognizerことができます。 サイトにリダイレクトする場合は、WebViewを使用できます。 独自のネイティブページに誘導する場合: NavigationPageを使用している場合は、 Navigation.PushAsync(new Page());を使用できます。 NavigationPageを使用せずにMainPageを変更したい場合: App.Current.MainPage = new MyContentPage();

0

これは私がリンクとしてラベル行為を持っているために使用するクラスです:より多くのオプションについては

public class SimpleLinkLabel : Label 
{ 
    public SimpleLinkLabel(Uri uri, string labelText = null) 
    { 
     Text = labelText ?? uri.ToString(); 
     GestureRecognizers.Add(new TapGestureRecognizer { Command = new Command(() => Device.OpenUri(uri)) }); 
    } 
} 

creating a hyperlink in Xamarin Formsについては、この答えは役に立つかもしれません。次のように

0

XAMLコードは次のようになります。

<Label 
    Text="My Text to click" 
    HorizontalOptions="Center" > 

    <Label.GestureRecognizers> 
     <TapGestureRecognizer 
      Tapped="OnLabelTapped" 
      NumberOfTapsRequired="2" /> 
    </Label.GestureRecognizers> 
</Label> 

注:デフォルトでは、NumberOfTapsRequiredは方法OnLabelTappedを追加し、あなたの.csファイルに続いて1

です。

public void OnLabelTapped(object sender, EventArgs args) 
{ 
    // Your code here 
    // Example: 
    // DisplayAlert("Message", "You clicked on the label", "OK"); 
} 
0

私はこれを行う - >次のクラスを作成:あなたはリンクボタンを作成する必要がどこにでもこの使用後

public class ButtonAsLink : Button 
{ 
    public ButtonAsLink() 
    { 
     this.TextColor = Color.Blue; 
     this.BackgroundColor = Color.Transparent; 
     this.BorderWidth = 0; 
    } 
} 

を:私はページにリダイレクトするにはどうすればよい

SendButton = new ButtonAsLink() 
     { 
      Text = "Send Logs...", 
      VerticalOptions = LayoutOptions.Center 
     }; 
関連する問題