Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

Xamarin.Forms でコントロールにタップイベントを追加するには

こんにちは。エクセルソフトの田淵です。

Xamarin.Forms の Button は当然タップできますが、Label とか Image とかにタップイベントを追加したい時、ありますよね。

TapGestureRecognizer を使いましょう

C#:

var tgr = new TapGestureRecognizer ();
tgr.Tapped += (sender, e) => OnLabelClicked();
label.GestureRecognizers.Add(tgr);

XAML:

<Label Text="test">
    <Label.GestureRecognizers>
        <TapGestureRecognizer Tapped="OnLabelClicked"/>
    </Label.GestureRecognizers>
</Label>

後はコードビハインドに OnLabelClickedメソッドを以下のような感じで用意してあげれば OK です。

private void OnLabelClicked(object sender, EventArgs e)
{
    var str = ((Label)sender).Text;
    DisplayAlert("Tapped", str + " is Tapped", "OK");
}

参考資料

Xamarin 気になった方は

是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の情報が欲しい方はこのブログも購読いただいたりすると嬉しいです。

以上です。

エクセルソフト | ダウンロード | 学習用リソース | JXUG リンクページ | ブログ購読