我有WPF ListView绑定到ObservableCollection。
这是我的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拒绝显示它。
有什么想法吗?
答案 0 :(得分:4)
确保DisplayMemberPath属性位于具有所有INotifyPropertyChanged内容的视图模型上,即属性是否可观察?