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
}
我有一个商品 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
}