Xamarin.Forms MVVM TapGestureRecognizer

Я пишу свое первое приложение Xamarin.Forms MVVM, и я пишу представление полностью с помощью XAML. Мне нужно иметь возможность определять, когда пользователь касается Xamarin.Forms.Label, и для этого я следовал примеру из следующего руководства Xamarin:

http://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/gestures/#Using_ICommand

А XAML моего ярлыка выглядит так:

<Label Text="Test Check">
  <Label.GestureRecognizers>
    <TapGestureRecognizer Command="{Binding OnClickCheckOption}"
                          CommandParameter="TestCheck" />
  </Label.GestureRecognizers>
</Label>

Это вызывает ошибку времени выполнения при запуске приложения, в которой говорится:

«Исключение типа Xamarin.Forms.Xaml.XamlParseException 'произошло в Xamarin.Forms.Xaml.DLL, но не было обработано в пользовательском коде. Дополнительная информация: BindableProperty CommandProperty не найден в TapGestureRecognizer»

Ошибка, заключающаяся в отсутствии CommandProperty или CommandParameterProperty в классе Xamarin.Forms.TapGestureRecognizer, явно неверна в соответствии с Xamarin API:

http://iosapi.xamarin.com/?link=T%3aXamarin.Forms.TapGestureRecognizer%2f*

Кто-нибудь знает, что я делаю не так? Любая помощь приветствуется, заранее спасибо!


person user2062604    schedule 25.07.2014    source источник
comment
Привет, Xamarin поддерживает жест касания и удержания?   -  person Arti    schedule 22.01.2016
comment
@Arti, вы можете проверить это руководство по Жестам   -  person Curiousity    schedule 02.08.2017


Ответы (1)


Ваш код действителен и должен работать при условии, что вы запустите его в одной из последних сборок Xamarin.Forms, поскольку CommandProperty совершенно новый.

На момент написания этой статьи вы должны ориентироваться на версию 1.2.2-pre2 (предварительная версия nuget).

person Stephane Delcroix    schedule 25.07.2014
comment
Да, это правильно. Я использовал Xamarin.Forms v1.0.6186, и код начал работать, когда я обновился до v1.2.2. - person user2062604; 28.07.2014