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

wpf - アイテムの変更時にObservableCollectionが更新されないのはなぜですか?

ObservableCollectionWPF では、リスト内の項目を追加または削除することによってのみ GUI の変更が反映され、編集によっては反映されないことに気付きました。

つまり、代わりにカスタム クラス MyObservableCollection を作成する必要があります。この動作の理由は何ですか?

ありがとう

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

wcf - サービスを介してデータベースにエンティティを挿入する際の問題

Silverlight アプリケーションがあり、WCF サービスを使用してデータベース情報にアクセスしています。このために、EntityFramework を使用しています。ObservableCollection of Keywords (DB テーブルの Keywords にマップされたクラス) オブジェクトを持つクラス Items (DB テーブルの Items にマップ) があります。

インターフェイスから、Keywords リストを含むすべてのプロパティ セットを含む Items オブジェクトを作成します (キーワードが既に存在する場合は、EntityFramework によって取得されたオブジェクトを追加し、キーワードが存在しない場合は、インターフェイスから新しい Keywords オブジェクトを作成して追加します)。私の Item の ObservableCollection に)。Item オブジェクトをサービスに渡して DB に追加しようとすると、次のエラーが発生します。同じキーを持つオブジェクトが ObjectStateManager に既に存在します。ObjectStateManager は、同じキーを持つ複数のオブジェクトを追跡できません。

どうすればこの問題を解決できますか?

0 投票する
4 に答える
600 参照

c# - fieldinfo を使用してオブジェクト フィールドにアクセスできない

オブジェクトの観測可能なコレクション (Web サービスから返された) を取り込み、それらの属性に従ってそれらを分析するメソッドがあります。

メソッドのコード スニペットを次に示します。

プライベートダブル分析(ObservableCollection mobjColl) {

私の問題は、fieldinfo fi が常に null であることです。オブジェクト名を使用してオブジェクトのすべてのフィールド (foreach 内) にアクセスできますが、fieldinfo オブジェクトにはデータが取り込まれません。GetFields メソッドを使用してみましたが、配列が返されません...

PS : オブジェクト フィールドは public です。getfield で bindingflags を使用しても役に立ちませんでした。

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

wpf - WPF ListBox が INotifyCollectionChanged または INotifyPropertyChanged イベントにバインドされない

次のテストコードがあります。

および XAML

ロード時に外側のリストボックスに値が入力されます。エキスパンダーが展開されたらItemsSource、内側のリストボックスのプロパティを設定します(バインディングを使用する代わりにこれを行う理由は、この操作が非常に遅く、アイテムを表示することを選択した場合にのみ実行したいからです)。内側のリストボックスは正常にレンダリングされますが、実際CollectionChangedにはコレクションのイベントをサブスクライブしません。ICollection私はこれを の代わりに との代わりにIEnumerableと を追加INotifyPropertyChangedして試しましINotifyCollectionChangedINotifyPropertyChanged。これを実際に機能させる唯一の方法は、SomeCollectionクラスをガットしてから継承することObservableCollection<SomeItem>です。INotifyCollectionChanged使用する代わりに自分自身をロールしようとする私の理由ObservableCollectionこれは、実際のコードで COM コレクションをラップしているためです。INotifyそのコレクションは追加/変更/削除時に通知し、これらをWPF のイベントに変換しようとしています。

これが十分に明確であることを願っています(遅い)。

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

c# - オブジェクトの Observable コレクションを XML ファイルに保存する最も簡単な方法は何ですか?

私は顧客オブジェクトを含む Observable コレクションを持っています:

後で読み込むことができるように、これを XML ファイルにダンプする最も簡単な方法は何ですか?

0 投票する
7 に答える
22258 参照

c# - どうすれば ObservableCollection にキャストできますか

How can i cast

from ObservableCollection<TabItem> into ObservableCollection<object>

this doesnt work for me

(ObservableCollection

How can i cast

this doesnt work for me


Using classic SQL:

I've put the first "distinct" in square brackets since I'm unsure as to whether you wanted duplicates removed (remove either the brackets or the entire word). The second "distinct" should be left in just in case your DBMS doesn't optimize IN clauses.

It may be faster (measure, don't guess) with an left join along the lines of:

Same deal with the "[distinct]".

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

wpf - WPF グリッド データ バインディング

1行だけのグリッドがあります。グリッドのデータ コンテキストによって列の数を決定したいと考えています。

たとえば、"Fred"、"Joe"、"Anne" を返す「Names」という名前の ObservableCollection プロパティで公開されている名前のリストがある場合、グリッドに 3 つの列が必要で、それぞれにテキスト ボックスがバインドされます。名前。

これまでの私の考え:

1) コード ビハインドで手動でグリッドを構築し、ObservableCollection が変更されたときにグリッドを再構築します。少しぎこちなく、WPFのやり方ではないように思えたので、私はこれを使いませんでした。

2) Grid の ColumnDefinitions プロパティを使用してバインディングを作成します。これはより正しいように見えましたが、Grid には ColumnDefinition の依存関係プロパティがありません。

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

.net - ObservableCollection FileSystemWatcher ListBox 更新の問題

FileSystemWatcher を使用して、ディレクトリに追加された他の PNG 画像を自動的に追加する ObservableCollection があります。ListBox には、次の XAML を使用して Photos オブジェクトにデータバインドされた ItemsSource があります。

ただし、監視対象のディレクトリに PNG ファイルが追加されると、OnPhotoCreated イベントが呼び出されます (ブレークポイントがこれを確認します) が、ListBox UI は更新されません。何か案は?

更新 #1: 以下に示すように、イベントを試しました。これにより、新しい画像をスクロールして表示しようとすると、「別のスレッドが所有しているため、呼び出し元のスレッドはこのオブジェクトにアクセスできません」という InvalidOperationException でクラッシュが発生します。Refresh メソッドが必要ないことを望んでいました。

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

c# - C#WPFデータグリッド:列数は常に0に等しい

C#でWPF Takelitデータグリッドを作成し、ItemsSourceをXAMLで設定しました。列は自動的に生成されます。

このWebサイトにあるものとほとんど同じように、ObservableCollectionを使用するデータグリッドを実行しようとしています。

下部にダウンロードできるサンプルがあります(ここにリンクがあります)

私の問題は、特定の列の特定のプロパティ(例:Datagrid.Columns [index]。Property)を変更しようとしていることですが列数が常に0に等しいため、これは機能しないようです。したがって、できません。 Columnsコレクションには何もないように見えるので、使用したいインデックスを使用してプロパティを変更します。ただし、実行時に表示される列があります。

では、列数が0に等しい可能性があるのはなぜですか?

自分の状況で特定の列のプロパティを変更するにはどうすればよいですか?

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

wpf - Collection 内の個々の要素に TextBoxes をバインドする方法

List という名前の ObservableCollection を持つクラスがあり、個別にテキスト ボックスにバインドしようとしています。努力しています:

StringObject クラスは次のとおりです。

誰かがアドバイスできますか?