2

我有绑定到 ObservableCollection 的 WPF ListView。

这是我的列表视图:

<ListView 
                BorderBrush="#6797c8" 
                BorderThickness="2" 
                ItemsSource="{Binding Path=MainCategoriesCollection, UpdateSourceTrigger=PropertyChanged}" 
                DisplayMemberPath="Category" 
                SelectedValuePath="MainCatID" 
                SelectedItem="{Binding MainCategorySelectedItem}"
                SelectedIndex="{Binding MainCategorySelectedIndex, Mode=TwoWay}"
                FontSize="14"/>

这是我的ItemSource:

    private ObservableCollection<DataModel.MainCategories> mainCategoriesCollection;
public ObservableCollection<DataModel.MainCategories> MainCategoriesCollection
{
    get
    {
        if (mainCategoriesCollection == null)
        {
            mainCategoriesCollection = new ObservableCollection<DataModel.MainCategories>();
        }
        return mainCategoriesCollection;
    }
    set
    {
        mainCategoriesCollection = value;
        RaisePropertyChanged("MainCategoriesCollection" );
    }
}

我有有线问题。当我从 MainCategoriesCollection 添加项目或删除项目时,我的 ListView 会毫无问题地更新,但是当我采用特定项目并更改代表“DisplayMemberPath”的项目属性时,我无法在 ListView 中看到更改。我调试了这个问题,发现 MainCategoriesCollection 中存在更改,但我的 ListView 拒绝显示它。

有任何想法吗?

4

1 回答 1

4

确保 DisplayMemberPath 属性位于具有所有 INotifyPropertyChanged 内容的视图模型上,即该属性是否可观察?

于 2013-03-04T18:44:38.140 回答