我将使用在C#中定义的自定义ViewCell来填充Xamarin.Forms中的ListView。ViewCell包含一个Image,它充当按钮,当单击时,应能够操作ListView的基础数据。
基本上,我正在寻找的是以下代码的后台等价物:
<Image.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding Path=BindingContext.PlusClickedCommand, Source={x:Reference Name=ChallengesLV}}"
CommandParameter="{Binding}"/>
</Image.GestureRecognizers>
我已经尝试过:
plusButton.GestureRecognizers.Add(new TapGestureRecognizer() {
Command = bindingContext.AddProgressToChallengeCommand,
CommandParameter = new Binding(".")} });
但是,当我尝试像这样访问我的视图模型中类型为Challenge的对象时,它会给我一个NullReference异常:
AddProgressToChallengeCommand = new Command( (sender) => doSomething((Challenge)sender) );
当我在调试模式下检查发送方对象时,它告诉我它是一种类型为Binding的对象,除了path ="。"之外,每个属性都为null。
我该如何获取此绑定所引用的项?