将命令添加到列表视图中的复选框 xamarin

Jas*_*r B 3 c# xaml mvvm xamarin

我在 Xamarin 表单中有一个列表视图,我试图在每一行中获取一个复选框,并附加一个命令。

我已经尝试了一些方法,但还没有成功,因为我无法获得绑定的 ID。

我已经尝试过的事情是:

  • CheckedChanged在复选框中添加参数,我只能获取truefalse,但不能获取该项目。
<CheckBox VerticalOptions="End" x:Name="Checkbox" IsChecked="{Binding IsBought, Mode=TwoWay}" WidthRequest="100" CheckedChanged="Checkbox_CheckedChanged"/>
Run Code Online (Sandbox Code Playgroud)
  • 尝试使用GestureRecognizerswith CommandParameter,这甚至不会调用附加到它的函数。我用Tappedand尝试了这个Command,也许我需要用 Binding 来执行命令?
<CheckBox VerticalOptions="End" x:Name="Checkbox" IsChecked="{Binding IsBought, Mode=TwoWay}" WidthRequest="100" CheckedChanged="Checkbox_CheckedChanged">
  <CheckBox.GestureRecognizers>
    <TapGestureRecognizer Command="TapGestureRecognizer_Tapped" CommandParameter="{Binding ArtikelID}"/>
  </CheckBox.GestureRecognizers>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)

我希望你能进一步帮助我:)祝你有美好的一天

Jas*_*son 6

使用senderBindingContext

void OnCheckBoxCheckedChanged(object sender, CheckedChangedEventArgs e)
{
    var cb = (CheckBox)sender;
    var item = (MyModel)cb.BindingContext;
    var id = item.ArtikelID;
}
Run Code Online (Sandbox Code Playgroud)