0
所以基本上就是這種情況。我有一個longlistselector
顯示的數據(比如,汽車的列表):ContextMenu選擇舊項目
<phone:LongListSelector x:Name="list" ItemsSource="{Binding CarList}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Click="DeleteMenuItem_Click" Header="delete"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<TextBlock Text="{Binding SomeText}">
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
然後,我這是怎麼處理的缺失:
private void DeleteMenuItem_Click(object sender, RoutedEventArgs e)
{
Car data = (sender as MenuItem).DataContext as Car;
using (var db = new SQLiteConnection(App.DBpath))
{
var existing = db.Query<Feed>("select * from Cars where Id = " + data.Id.ToString()).FirstOrDefault();
if (existing != null)
{
db.RunInTransaction(() =>
{
db.Delete(existing);
});
App.ViewModel.loadCarData();
}
}
}
現在的問題是,在刪除一些之後,上下文菜單開始給舊選擇,並且不會更新,這使得var existing = db.Query<Feed>("select * from Cars where Id = " + data.Id.ToString()).FirstOrDefault();
顯然返回null,因爲它已經從數據庫中刪除。任何想法如何解決這個問題?
真棒!那樣做了!感謝shitloads!如果我有足夠的代表,我會贊成。 – Tup3x
這對我有用 – adrian4aes