對不起,新來的。我有一個 CollectionView 物件和欄位,當我使用 SwipeView 呼叫洗掉事件時,我希望能夠使用選擇傳遞給 SQLite 查詢的物件從資料庫中洗掉該物件。我最初的計劃是使用物件的 ID 來洗掉它,但我在這樣做時遇到了麻煩。我可以讓物件本身使用而不是獲取物件的屬性嗎?
XAML
<SwipeView>
<SwipeView.RightItems>
<SwipeItems SwipeBehaviorOnInvoked="RemainOpen">
<SwipeItem Text="Delete" BackgroundColor="DarkGray"
Invoked="DeleteItem_Invoked"
BindingContext="{Binding ID}">
</SwipeItem>
</SwipeItems>
</SwipeView.RightItems>
SQL
public Task<int> DeleteBird(Bird bird)
{
return _database.DeleteAsync(bird);
}
C#
private void DeleteItem_Invoked(object sender, EventArgs e)
{
var swipeview = sender as SwipeItem;
var id = swipeview.BindingContext;
Database.DeleteBird(id);
Debug.WriteLine(id);
}
Github
uj5u.com熱心網友回復:
使用CommandParameter(不要設定BindingContext)
<SwipeItem Invoked="DeleteItem_Invoked" CommandParameter="{Binding .}" />
然后在事件處理程式中
private void DeleteItem_Invoked(object sender, EventArgs e)
{
var swipeview = sender as SwipeItem;
var item = (MyClassName)swipeview.CommandParameter;
// item should be the selected item
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/481176.html
