未设置WPF ListView SelectedValue

未设置WPF ListView SelectedValue,wpf,listview,mvvm,selectedvalue,Wpf,Listview,Mvvm,Selectedvalue,我已经考虑了一些解决方案,但对我来说没有任何效果 我正在为此项目使用MVVM,并且有一个无法设置SelectedItem属性的ListView 如果这是我的(简化的)XAML 我将它绑定到ViewModel中的PackageGroups public PackageGroup PackageGroupSelectedItem {get; set; } public ObservableCollection<PackageGroup> PackageGroups {g

我已经考虑了一些解决方案,但对我来说没有任何效果

我正在为此项目使用MVVM,并且有一个无法设置SelectedItem属性的ListView

如果这是我的(简化的)XAML


我将它绑定到ViewModel中的PackageGroups

   public PackageGroup PackageGroupSelectedItem {get; set; }
   public ObservableCollection<PackageGroup> PackageGroups {get; set; }

   private void LoadUI()
   {
        PackageGroups = Factory.LoadAllPackageGroups())

        // if I try to hard-code a pre-selected item here it doesn't work.
        // 34 is a valid ID and I see a valid object when stepping through the code

        PackageGroupSelectedItem = PackageGroup.LoadByID(db, 34);
   }
public PackageGroup PackageGroupSelectedItem{get;set;}
公共ObservableCollection包组{get;set;}
私有void LoadUI()
{
PackageGroups=Factory.LoadAllPackageGroups()
//如果我试图在这里硬编码一个预先选择的项目,它不会起作用。
//34是一个有效的ID,我在遍历代码时看到一个有效的对象
PackageGroupSelectedItem=PackageGroup.LoadByID(db,34);
}
我的代码中有什么突出的地方吗


谢谢。

一个可能的问题是您没有在PackageGroupSelectedItem属性中实现。

我刚刚遇到同样的情况,结果发现我的集合项错误地实现了“Equals”方法。它不需要在集合项上实现INotifyPropertyChanged,但应正确实现Equals

   public PackageGroup PackageGroupSelectedItem {get; set; }
   public ObservableCollection<PackageGroup> PackageGroups {get; set; }

   private void LoadUI()
   {
        PackageGroups = Factory.LoadAllPackageGroups())

        // if I try to hard-code a pre-selected item here it doesn't work.
        // 34 is a valid ID and I see a valid object when stepping through the code

        PackageGroupSelectedItem = PackageGroup.LoadByID(db, 34);
   }