我有一个ObservableCollection,它包含自定义类型Item的记录。我使用该集合作为WPF中ListView的绑定。该类的Item也实现了接口INotifyPropertyChanged。 当我更新ListView中的某些记录时,我可以看到ListView中的更改。WPF中的ObservableCollection绑定
所有这些数据来自WCF服务。当我调用服务的客户端对象并调用删除方法来删除属于ObservableCollection的项目时,记录将在数据库中被删除,但ListView中的项目不会更新。 这是应该如何工作的,或者当我从服务调用中从数据库中删除项目时,是否应手动删除项目中的项目?
感谢
这里是XAML:
<ListView ItemsSource="{Binding AllItems}" Height="244" IsSynchronizedWithCurrentItem="True" HorizontalAlignment="Left" Margin="1,25,0,0" Name="listView1" VerticalAlignment="Top" Width="485" >
<ListView.ContextMenu>
<ContextMenu AllowDrop="False">
<MenuItem Name="openRecord" Header="Open" Click="ContextMenuItem_Click" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.SelectedItem}" />
<MenuItem Name="deleteRecord" Header="Delete" Click="ContextMenuItem_Click" CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ContextMenu}, Path=PlacementTarget.SelectedItem}" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<EventSetter Event="MouseDoubleClick" Handler="list_UserItems_ItemMouseDoubleClick" />
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Title}" Header="Title" Width="200" />
<GridViewColumn DisplayMemberBinding="{Binding CreatedByName}" Header="Created By" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding CreatedOn}" Header="Created On" Width="100" />
<GridViewColumn DisplayMemberBinding="{Binding ExpirationDate}" Header="Expires" Width="100" />
</GridView>
</ListView.View>
</ListView>
你能发布Xaml - 具体是绑定代码吗? – 2012-02-11 15:41:23