タグ付けされた質問 「observablecollection」

4
ObservableCollectionとBindingListの違い
私は間の違いを知ってほしいObservableCollectionとBindingList私はソースのいずれかの追加/削除の変更を通知するために両方を使用しましたので、他の上で1つを好むとき、私は実際にはわかりません。 次のいずれかを選択するのはなぜですか? ObservableCollection<Employee> lstEmp = new ObservableCollection<Employee>(); または BindingList<Employee> lstEmp = new BindingList<Employee>();


18
ObservableCollection内の項目が変更されたときに通知されない(INotifyPropertyChangedでも)
このコードが機能しない理由を誰かが知っていますか: public class CollectionViewModel : ViewModelBase { public ObservableCollection<EntityViewModel> ContentList { get { return _contentList; } set { _contentList = value; RaisePropertyChanged("ContentList"); //I want to be notified here when something changes..? //debugger doesn't stop here when IsRowChecked is toggled } } } public class EntityViewModel : ViewModelBase { private bool …

12
ObservableCollectionはAddRangeメソッドをサポートしていないため、INotifyCollectionChangingのほかに、追加された項目ごとに通知を受けますか?
範囲を追加して、一括で更新できるようにしたい。 また、アクションが完了する前にキャンセルできるようにしたい(つまり、「変更済み」以外のコレクションの変更)。 関連Q 複数のオブジェクトを一度に追加して通知を受けるための.Netコレクションはどれですか?

23
監視可能なコレクションを並べ替えるにはどうすればよいですか?
私は次のクラスがあります: [DataContract] public class Pair<TKey, TValue> : INotifyPropertyChanged, IDisposable { public Pair(TKey key, TValue value) { Key = key; Value = value; } #region Properties [DataMember] public TKey Key { get { return m_key; } set { m_key = value; OnPropertyChanged("Key"); } } [DataMember] public TValue Value { get { …

20
ObservableCollectionをクリアすると、e.OldItemsにアイテムがありません
私はここで本当に私を油断させてしまっている何かを持っています。 アイテムで満たされたTのObservableCollectionがあります。CollectionChangedイベントに接続されたイベントハンドラーもあります。 コレクションをクリアすると、e.ActionがNotifyCollectionChangedAction.Resetに設定されたCollectionChangedイベントが発生します。OK、それは正常です。しかし、奇妙なのは、e.OldItemsにもe.NewItemsにも何も含まれていないことです。私は、e.OldItemsがコレクションから削除されたすべてのアイテムで満たされることを期待します。 他の誰かがこれを見たことがありますか?もしそうなら、彼らはどのようにそれを回避しましたか? 背景:CollectionChangedイベントを使用して別のイベントにアタッチおよびデタッチしているため、e.OldItemsでアイテムを取得できない場合...そのイベントからデタッチできません。 明確化: 私はドキュメントがないことを知らないあからさまそれはこのように動作している状態。しかし、他のすべてのアクションについては、それが何をしたかを私に通知しています。だから、私の仮定は、それが私に教えてくれるだろうということです...クリア/リセットの場合も同様です。 自分で再現したい場合のサンプルコードを以下に示します。まずxamlから: <Window x:Class="ObservableCollection.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300" > <StackPanel> <Button x:Name="addButton" Content="Add" Width="100" Height="25" Margin="10" Click="addButton_Click"/> <Button x:Name="moveButton" Content="Move" Width="100" Height="25" Margin="10" Click="moveButton_Click"/> <Button x:Name="removeButton" Content="Remove" Width="100" Height="25" Margin="10" Click="removeButton_Click"/> <Button x:Name="replaceButton" Content="Replace" Width="100" Height="25" Margin="10" Click="replaceButton_Click"/> <Button x:Name="resetButton" Content="Reset" Width="100" Height="25" …

4
ワーカースレッドを介してObservableCollectionを更新するにはどうすればよいですか?
私が持っているObservableCollection<A> a_collection;コレクションは「n」の項目が含まれています。各アイテムAは次のようになります。 public class A : INotifyPropertyChanged { public ObservableCollection<B> b_subcollection; Thread m_worker; } 基本的に、これはすべてWPFリストビュー+詳細ビューコントロールに接続されておりb_subcollection、選択したアイテムのを別のリストビューに表示します(双方向バインディング、propertychangedの更新など)。 スレッドの実装を開始したときに、問題が発生しました。全体的なアイデアは、a_collectionワーカースレッドを使用して「作業を行う」ことで、それぞれb_subcollectionsを更新し、GUIに結果をリアルタイムで表示させることでした。 試してみると、DispatcherスレッドだけがObservableCollectionを変更できるという例外が発生し、作業が停止しました。 誰かが問題を説明できますか、そしてそれを回避する方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.