私はカスタムタイプのItemのレコードを保持するObservableCollectionを持っています。 WPFのListViewのバインドとしてそのコレクションを使用します。そのクラスItemは、インタフェースINotifyPropertyChangedも実装します。 ListViewのレコードの一部を更新すると、ListViewの変更が表示されます。WPFのObservableCollectionバインディング
これらのデータはすべてWCFサービスからのものです。 ObservableCollectionに属するアイテムを削除するために、サービスのクライアントオブジェクトを呼び出してdeleteメソッドを呼び出すと、レコードがDBで削除されますが、ListViewのアイテムは更新されません。 これは動作するかどうか、またはサービスコールでDBから手動でアイテムを削除するときにコレクションからアイテムを手動で削除する必要がありますか?ここで
おかげ
は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、特にバインディングコードを投稿できますか? –