問題タブ [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 投票する
2 に答える
2564 参照

c# - C#: ObservableCollection からイベントを削除しますか?

INotifyPropertyChanged インターフェイスを実装するアイテムを含む ObserableCollection があります。これは私がそれを作成する方法です:

_

今私の質問は、別のことをする前に、すべてのアイテムをループして「myViewModelPropertyChanged」を削除する必要がありますか?

またはこれは自動的に起こりますか?myCollection.Clear(); はどうでしょうか。

ご意見ありがとうございます。

乾杯ジョセフ

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

datepicker - DatePicker の IsSynchronizedWithCurrentItem (または同等のもの)?

現在、ObservableCollection にバインドされたコンボボックスがあります

「IsSynchronizedWithCurrentItem」を使用して、次のようなラベルのセットで以下のデータを表示するラベルのセットと「同期」します。

300 を超える日付が含まれるコンボボックスではなく、DatePicker (WPF Toolkit のもの、http://wpf.codeplex.com/など) を使用して日付を選択する方がはるかに簡単なので、「 DatePicker が「現在の日付」を制御できるように IsSynchronizedWithCurrentItem を使用しますか?

ありがとうございました

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

c# - Silverlight3-監視可能なコレクションのフィルタリング

監視可能なコレクションをフィルタリング/ソートし、通知を保持する方法はありますか?

調べてみると、必要に応じてコレクションをフィルタリングおよび並べ替えるCollectionViewSourceが見つかりましたが、フィルターが依存するitemsプロパティがソースコレクションで変更されても、フィルターは更新されません。

基本的に、元のコレクションのビューが必要です。ビュー内のアイテムのプロパティが変更されるとソースが更新され、ソースが変更されるとビューが更新されます。Silverlight 3でこの機能を提供するクラスはありますか?

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

wpf - ObservableCollectionが有効かどうかを確認します

次の方法でObservableCollectionにバインドされているWPFDevExpressDxGridがあります。

ユーザーがグリッドに情報を入力し始めたら、情報を見逃して無効になっていないかどうかを確認できる必要があります。

では、_FamilyListに検証エラーがないことを確認する最良の方法は何ですか?

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

wpf - ObservableCollection に INotifyPropertyChanged を実装した目的は何ですか?

ObservableCollectionINotifyCollectionChangedと の両方を実装しINotifyPropertyChangedます。

  • アイテムの追加、削除 (+ クリア)、および置換は、コレクションのイベント を通じて消費者に通知可能であり、既存のアイテムの更新は、アイテムがそれ自体を実装する場合、アイテムのイベント CollectionChangedを使用して監視できることを理解しています。PropertyChangedINotifyPropertyChanged

  • 読み取り専用であるため、コレクションのイベントに登録できないことを他の人から読みました PropertyChanged

では、その目的は何なのか、私たちはそれをどのように利用できるのでしょうか?

あちこちのコメントは、コレクションとアイテムの両方のコンテンツの変更を通知できるように、両方のインターフェイスを実装することが魔法のようであることを暗示して、議論を混乱させているようですがObservableCollection、これは正しくありません (これは、コレクションがアイテムのコンテンツが変更された後に魔法のように更新されるリストボックスにバインドされており、コレクションがリストボックスに通知することを示唆しています)。

実際、コレクションの唯一の利点は実装することINotifyCollectionChangedです。アイテム プロパティの変更を処理するObservableCollectionのは、別のコレクションよりも簡単ではないようです。アイテムが を実装している場合にのみ可能ですが、実装INotifyPropertyChangedしていない可能性があり、ユーザーがコレクションとは無関係にこのイベントをフックできた場合にのみ可能です。

これは正しいです?

0 投票する
22 に答える
152354 参照

c# - 監視可能なコレクションをソートするにはどうすればよいですか?

私は次のクラスを持っています:

ObservableCollection に入れたもの:

Q : キーでソートするにはどうすればよいですか?

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

wpf - ObservableCollectionへのWPFListViewデータバインディング

WPFアプリではListView

ObservableCollectionこれはデータバインディングを介して接続されています:

これObservableCollectionは、同じウィンドウの分離コードファイルに配置されます。ここで、ListViewはですMainWindow。すべてが正常に動作します。

ここで、別のウィンドウにさらに別のウィンドウを追加ListViewしましたが、この場合、データバインディングは機能していません。私が変更しなかったXAMLのこのデータバインディング部分:

で接続するために、このListViewデータバインディング宣言(ListViewで)をどのように変更する必要がありますか?SecondWindowObservableCollectionMainWindow

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

wpf - 実行時に監視可能なコレクションを複数のユーザーコントロールにバインドするにはどうすればよいですか?

コレクションを動的ユーザーコントロールにバインドする必要がある部分で立ち往生しています。シナリオはこんな感じです。動的コントロールがあり、エキスパンダー、データグリッド、コンボボックス、テキストボックスがあり、comboxとテキストボックスはデータグリッド内にあります。それらにはすでに2つのコレクションがあります。1つはコンボボックスにバインドされ、もう1つはデータグリッドにバインドされます。アイテムがcomboxで変更されると、それぞれの値がそれぞれのテキストボックスに設定されます。そして、この値のペアは、datagridでバインドされたコレクションに設定されます。ユーザーは複数のアイテムを追加できます。

ここでの主な問題は、これらすべてが動的に追加されるユーザーコントロール内、つまりボタンクリックイベントで発生していることです。ユーザーは、必要な数のユーザーコントロールをフォームに追加できます。この状況で問題が発生しています。3つのコントロールを追加したとします。1つ目では、コレクションにコードを追加すると、同じコレクションにバインドされているため、次の2つのコントロールにも反映されます。したがって、上記の条件が発生しないように、同じコレクションを再生成/名前変更する方法があるかどうかを知りたいと思います。

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

wpf - WPF Observablecollection マスター詳細シナリオ

これについての助けは素晴らしいでしょう。

私はモデルを持っています

Master オブジェクトのコレクションを返す WCF サービスからビュー モデルを設定しています。ビュー モデルで簡単に使用できるように、observablecollection を返すようにサービス参照を構成しました。

私のビューモデルは、

私の見解では、2 つのリストボックスがあります。1 つは Masters プロパティにバインドされ、もう 1 つは SelectedMaster.Details にバインドされています。

SelectedMaster に新しい詳細を追加しようとするときを除いて、これはすべて正常に機能します。

SelectedMaster の Details のコレクションは単なる Details のリスト (ObservableCollection ではない) であり、その理由は明らかです。

ここにはどのようなオプションがありますか? INotifyPropertyChanged を実装しようとしましたが、うまくいかないようです。Details 用に別の ObservableCollection を作成することもできますが、それは、SelectedMaster が変更されたときにこのコレクションを同期させておく必要があることを意味します (SelectedMaster プロパティは、最初のリストボックスの SelectedItem にバインドされます。

これがうまくいくことを願っています。フィードバックをお待ちしております。マスターのコレクションと同様に、WCF が詳細のコレクションを observablecollection として返すことができれば理想的ですが、そのようには機能しないようです。

ありがとう。

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

c# - WPF ListView SelectionChangedイベントハンドラーからObservableCollectionを参照する方法は?

ShQuCollectionWPFアプリには、データバインディングを介してObservableCollectionに接続されているListViewがあります。

ListView SelectionChangedイベントハンドラーの内部から、メソッドを呼び出して、ObservableCollectionの選択された行のフィールドの1つから取得する文字列パラメーターを渡す必要があります ShQuCollection

ListView SelectionChangedイベントハンドラー内からObservableCollectionを参照するにはどうすればよいですか?

編集(追加):

私のObservableCollectionは別のウィンドウの分離コードファイルにあり、Window.Resources宣言を使用してそれに到達します。

そして、ObservableCollectionは次のようになります。