2010-10-06 54 views
2

我已經看了幾個解決方案,但沒有任何工作對我來說。WPF ListView SelectedValue沒有設置

我爲此項目使用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在我的視圖模型在我的代碼

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

任何明顯的?

謝謝。

回答

0

我剛剛進入了相同的情況,事實證明我的收集項目錯誤地實施了「等於」方法。它不需要在收集項目上實現INotifyPropertyChanged,但Equals應該正確實施...

相關問題