Xamarin.Forms ListView中的Entry改变时获取ListView的对象

Xamarin.Forms Get the object of a ListView when an Entry in the ListView is changed

我有一个商品 class,其名称和价格值存储在 SQLite 数据库中。我在列表视图中显示它们,其中包含名称标签和价格条目。

<ListView x:Name="itemListView">
  <DataTemplate>
    <ViewCell>
      <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
        <Label Text="{Binding name}"/>
        <Entry Text="{Binding Path=price, Mode=TwoWay, StringFormat='{}{0:c}'}" Keyboard="Numeric" Completed="updateItem" />
      </StackLayout>
    </ViewCell>
  </DataTemplate>
</ListView>

我想这样做,当条目更改完成时,它将使用新的价格值更新 SQLite 数据库中的项目,但是,我不知道如何检索已完成的项目列表显示。我想我需要使用下面的方法,但我不知道该放什么。

async void updateItem(object sender, EventArgs e)
{
    //Code to update the item with the SQLite database with the new price
}

在您的 updateItem 处理程序中,项目的 BindingContext 应该是正在更新的 ItemSource 中的元素

async void updateItem(object sender, EventArgs e)
{
    var item = (MyItemType) ((Entry)sender).BindingContext;

    //Code to update the item with the SQLite database with the new price
}