2010-10-06 29 views
2

J'ai examiné quelques solutions mais rien n'a encore fonctionné pour moi.WPF ListView SelectedValue non défini

J'utilise MVVM pour ce projet et ont un ListView que je ne peux pas définir la propriété SelectedItem.

S'il s'agit de mon XAML (simplifié).

<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> 

Et je lie à un PackageGroups dans mon 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); 
    } 

Tout flagrant dans mon code?

Merci.

Répondre

0

Je viens juste dans la même situation et il est apparu que mon élément de collection avait incorrectement mis en œuvre la méthode « Equals ». Il n'a pas besoin d'implémenter INotifyPropertyChanged sur l'élément de collection, mais Equals doit être implémenté correctement ...