C#で定義されたカスタムViewCellを使用して、Xamarin.FormsのListViewにデータを設定しています。 ViewCellには画像が含まれています。この画像はボタンとして機能し、クリックするとListViewの基礎となるデータを操作できます。CommandParameterをXamarin.FormsのListView項目自体に設定する方法
plusButton.GestureRecognizers.Add(new TapGestureRecognizer() {
Command = bindingContext.AddProgressToChallengeCommand,
CommandParameter = new Binding(".")} });
をしかし、私はタイプのチャレンジのオブジェクトにアクセスしようとすると、それは私にNullReference例外を与える:私は試してみました
<Image.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding Path=BindingContext.PlusClickedCommand, Source={x:Reference Name=ChallengesLV}}"
CommandParameter="{Binding}"/>
</Image.GestureRecognizers>
:
は基本的に私はのための同等の背後にあるコードを探しています
AddProgressToChallengeCommand = new Command((sender) => doSomething((Challenge)sender));
私は、デバッグ中に、送信者オブジェクトを点検:そうのような私のviewmodelでモードでは、path = "。"以外のすべてのプロパティがnullのBinding型のオブジェクトであることがわかります
バインディングが指し示すアイテムを取得するにはどうすればよいですか?ジェイソンへ
Iあなたはコマンドを使用して、タイプチャレンジのパーマを渡す必要があると信じています - 送信者はparmではありません –
Jason
あなたは正しいです、私はそれを変更する必要がありました。さらに、私は追加する必要があった myTapGestureRecognizer.SetBinding(TapGestureRecognizer.CommandParameterProperty、 "。"); チップをありがとう! – Jackilion