我是WPF新手,我正在尝试使用MVVM。我在我的视图模型中使用CollectionViewSource来对照使用Entity Framework的SQL数据库。移动到CollectionViewSource中的特定项目?
所以我们可以说我有这个类:
public class People
{
public int Id { get; set; }
public string name { get; set; }
}
而且可以说,这是我在数据库:
ID:名称:
兔八哥
Mick Jagger
米老鼠
唐老鸭
高飞
埃尔默法德语
达菲鸭
猪小弟
现在使用CollectionViewSource.View,我知道如何使用MoveCurrentToNext(),MoveCurrentToPrevious()等方法,这很好,但我需要移动到一个特定的名称,例如唐老鸭。所以,如果我这样做:
dbContext.Peoples.Find(4);
或者,如果我这样做
dbContext.Peoples.Where(p => p.Name == "Donald Duck").FirstOrDefault();
这将让我使用实体框架的数据库对象的权利。但是,如果我这样做:
CollectionViewSource.View.MoveCurrentTo(dbContext.Peoples.Find(4));
它不会移动,并且CollectionViewSource.View.CurrentItem为空。
那么如何有人搬到正确的项目?
你说得对。当你第一次说这个参考文献每次我打电话的时候都不一样的时候,它就像一堆砖头一样打击我! DUH!因此,我只是创建列表,使用相同的列表将其引用到CollectionView.Source,并使用列表。找到(p => p.Id == 4)并且工作正常! –
deafie
很高兴这有助于; ) – Bruno