問題タブ [observablecollection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3326 参照

wpf - ObservableCollection が C# WPF のマルチバインディングを更新しない

データバインドされた ObservableCollections からすべてのアイテムを作成する TreeView があります。GameNode オブジェクトの階層があり、各オブジェクトには 2 つの ObservableCollections があります。1 つのコレクションには EntityAttrib オブジェクトがあり、もう 1 つのコレクションには GameNode オブジェクトがあります。GameNode オブジェクトはフォルダーを表し、EntityAttrib はファイルを表すと言えます。同じ TreeView に attrib と GameNode の両方を表示するには、Multibinding を使用します。これはすべて起動時に正常に機能しますが、新しい GameNode を階層のどこかに追加すると、TreeView は更新されません。コンバーター メソッドにブレークポイントを設定しましたが、新しい GameNode を追加するときに呼び出されません。ObservableCollection が MultiBinding に変更を通知していないようです。MultiBinding をコメントアウトして、GameNode コレクションのみをバインドすると、期待どおりに動作します。

XAML:

C#:

GameNodeList はサブクラス化された ObservableCollection です

0 投票する
2 に答える
1952 参照

c++-cli - Managed C++ で ObservableCollection から継承する方法

ObservableCollection から継承するマネージ C++ でクラスを作成しようとすると、次のエラーが表示されます: error C2039: 'ObservableCollection' : is not a member of 'System::Collections::ObjectModel'

これが私のコードです:

このクラスを C++-CLI から使用できないのはなぜですか? C# での使用に問題はありません。

0 投票する
2 に答える
2160 参照

silverlight - Silverlight のキー付き ObservableCollection

Name というプロパティに基づいて一意のオブジェクトを格納するキー付きの監視可能なコレクションを Silverlight に実装したいと考えています。これを行う 1 つの方法は、含まれている要素のすべての PropertyChanged イベントをサブスクライブする ObservableCollectionEx (別のスタック オーバーフロー ポストのサンプル) クラスを使用し、name プロパティが変更されるかどうかを確認することです。さらに良いことに、name 属性が変更されたことを通知する独自のイベントを作成し、アイテムが既に存在する場合は ValidationException をスローします。必ずしもインデクサー this[Name] を使用してオブジェクトを取得する必要はありません。

このようなもの:

よりエレガントな別のソリューションはありますか? はるかに簡単ですか?ありがとう、エイドリアン

PS Wpf博士がまとめたObservableDictionaryもあり、Silvelightに簡単に移行できることは知っていますが、DataFormなどで使用する方法がわかりません。

0 投票する
3 に答える
1331 参照

.net - リストはありますかリストが変更されたときにイベントを発生させる.NET2では?

私はObservableCollection<T>過去に使用したことがありますが、それはWPFに属しているようであり、したがって.NET3に属しているようです。

そして、そのための適切なインターフェースがない場合はどうなりますか?INotifyPropertyChangedコレクションにはあまり適していないようですが、.NET3以降でINotifyCollectionChangedのみサポートされています。

0 投票する
1 に答える
1206 参照

wpf - ObservableCollection かどうかを確認し、そうである場合は代替の xaml を表示します。

ListViewバインドされた がありObservableCollectionます。さらに、私は のすべてのアイテムをリストしていますObservableCollection。さて、ObservableCollectionが空であるかどうかを確認し、代替のxamlを表示する良い方法はありますか?

0 投票する
1 に答える
382 参照

wpf - 一方向バインディングの INotifyProperChanged を使用しない監視可能なコレクション

コントロールが Observable コレクションにバインドされている場合の Silverlight または WPF の場合、コレクションの追加/削除がコントロールに反映されることにのみ関心があります。つまり、一方向のバインディングです。コレクションで構成されています。ただし、この場合、コレクションの既存の要素への変更はユーザー インターフェイスに反映されません。

0 投票する
1 に答える
754 参照

vb.net - (Tの)ObservableCollectionがありません

WPFとMVVMで実験を行っていますが、Vb.netでViewModelをコーディングしているときに、ObservableCollection(of T)のT_Tの下にあるこの赤い波線に気づきました。

とにかく、アプリケーションは.Net Framework 3.5(チェック済み)の下のWPFおよびVB.Netにあり、クラスの上に「ImportsSystem.Collections.ObjectModel」があります。Intellisenseは、ObservableCollectionを除くSystem.Collections.ObjectModel上の他のクラスを表示します。

これがスクリーンショットです。

では、なぜObservableCollection(of T)が欠落しているのでしょうか。また、どのように表示させるのでしょうか。:( 前もって感謝します。

0 投票する
2 に答える
2542 参照

vb.net - VB.Net で ObservableCollection(of T) をシリアル化する

私はしばらくの間、VB.Net で MVVM を試しており、List(of T) を使用していくつかのエンティティから始めました。これを xml でディスクにシリアル化しました。ここで、List で使用されるクラスを更新して INotifyPropertyChanged を実装したので、List(of T) を ObservableCollection(of T) に変更しました。

その後、XML シリアライザーは動作を停止しました :'( 同僚から、一般的なリストとは異なり、ObservableCollection はシリアライズ可能ではないと言われました。

もしそうなら、どうすればシリアライズ可能にできますか? よろしくお願いします〜!:D