WPF ListView SelectedValue не устанавливается - PullRequest
2 голосов
/ 07 октября 2010

Я посмотрел несколько решений, но у меня пока ничего не получалось.

Я использую MVVM для этого проекта и у меня есть ListView, который я не могу установить для свойства SelectedItem.

Если это мой (упрощенный) XAML.

<ListView Name="uxPackageGroups" ItemsSource="{Binding Path=PackageGroups, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" BorderThickness="0"
      BorderBrush="#FF0000E8" ScrollViewer.CanContentScroll="True"
      SelectedItem="{Binding Path=PackageGroupSelectedItem, Mode=TwoWay}" >
<ListView.ItemTemplate>
    <DataTemplate>
       <Label Content="{Binding Name}" Height="20" Margin="0" Padding="0"/>
    </DataTemplate>
</ListView.ItemTemplate>

И я связываю его с PackageGroups в моей ViewModel

   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);
   }

Что-нибудь вспыхнуло в моем коде?

Спасибо.

Ответы [ 2 ]

1 голос
/ 07 октября 2010

Одной из возможных проблем является то, что вы не реализуете INotifyPropertyChanged в свойстве PackageGroupSelectedItem.

0 голосов
/ 07 сентября 2011

Я только что попал в ту же ситуацию, и оказалось, что в моей коллекции неправильно реализован метод "Равно".Не нужно реализовывать INotifyPropertyChanged для элемента коллекции, но Equals должен быть реализован правильно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...