問題タブ [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.
wpf - アイテムの変更時にObservableCollectionが更新されないのはなぜですか?
ObservableCollection
WPF では、リスト内の項目を追加または削除することによってのみ GUI の変更が反映され、編集によっては反映されないことに気付きました。
つまり、代わりにカスタム クラス MyObservableCollection を作成する必要があります。この動作の理由は何ですか?
ありがとう
wcf - サービスを介してデータベースにエンティティを挿入する際の問題
Silverlight アプリケーションがあり、WCF サービスを使用してデータベース情報にアクセスしています。このために、EntityFramework を使用しています。ObservableCollection of Keywords (DB テーブルの Keywords にマップされたクラス) オブジェクトを持つクラス Items (DB テーブルの Items にマップ) があります。
インターフェイスから、Keywords リストを含むすべてのプロパティ セットを含む Items オブジェクトを作成します (キーワードが既に存在する場合は、EntityFramework によって取得されたオブジェクトを追加し、キーワードが存在しない場合は、インターフェイスから新しい Keywords オブジェクトを作成して追加します)。私の Item の ObservableCollection に)。Item オブジェクトをサービスに渡して DB に追加しようとすると、次のエラーが発生します。同じキーを持つオブジェクトが ObjectStateManager に既に存在します。ObjectStateManager は、同じキーを持つ複数のオブジェクトを追跡できません。
どうすればこの問題を解決できますか?
c# - fieldinfo を使用してオブジェクト フィールドにアクセスできない
オブジェクトの観測可能なコレクション (Web サービスから返された) を取り込み、それらの属性に従ってそれらを分析するメソッドがあります。
メソッドのコード スニペットを次に示します。
プライベートダブル分析(ObservableCollection mobjColl) {
私の問題は、fieldinfo fi が常に null であることです。オブジェクト名を使用してオブジェクトのすべてのフィールド (foreach 内) にアクセスできますが、fieldinfo オブジェクトにはデータが取り込まれません。GetFields メソッドを使用してみましたが、配列が返されません...
PS : オブジェクト フィールドは public です。getfield で bindingflags を使用しても役に立ちませんでした。
wpf - WPF ListBox が INotifyCollectionChanged または INotifyPropertyChanged イベントにバインドされない
次のテストコードがあります。
および XAML
ロード時に外側のリストボックスに値が入力されます。エキスパンダーが展開されたらItemsSource
、内側のリストボックスのプロパティを設定します(バインディングを使用する代わりにこれを行う理由は、この操作が非常に遅く、アイテムを表示することを選択した場合にのみ実行したいからです)。内側のリストボックスは正常にレンダリングされますが、実際CollectionChanged
にはコレクションのイベントをサブスクライブしません。ICollection
私はこれを の代わりに との代わりにIEnumerable
と を追加INotifyPropertyChanged
して試しましINotifyCollectionChanged
たINotifyPropertyChanged
。これを実際に機能させる唯一の方法は、SomeCollection
クラスをガットしてから継承することObservableCollection<SomeItem>
です。INotifyCollectionChanged
使用する代わりに自分自身をロールしようとする私の理由ObservableCollection
これは、実際のコードで COM コレクションをラップしているためです。INotify
そのコレクションは追加/変更/削除時に通知し、これらをWPF のイベントに変換しようとしています。
これが十分に明確であることを願っています(遅い)。
c# - オブジェクトの Observable コレクションを XML ファイルに保存する最も簡単な方法は何ですか?
私は顧客オブジェクトを含む Observable コレクションを持っています:
後で読み込むことができるように、これを XML ファイルにダンプする最も簡単な方法は何ですか?
wpf - WPF グリッド データ バインディング
1行だけのグリッドがあります。グリッドのデータ コンテキストによって列の数を決定したいと考えています。
たとえば、"Fred"、"Joe"、"Anne" を返す「Names」という名前の ObservableCollection プロパティで公開されている名前のリストがある場合、グリッドに 3 つの列が必要で、それぞれにテキスト ボックスがバインドされます。名前。
これまでの私の考え:
1) コード ビハインドで手動でグリッドを構築し、ObservableCollection が変更されたときにグリッドを再構築します。少しぎこちなく、WPFのやり方ではないように思えたので、私はこれを使いませんでした。
2) Grid の ColumnDefinitions プロパティを使用してバインディングを作成します。これはより正しいように見えましたが、Grid には ColumnDefinition の依存関係プロパティがありません。
.net - ObservableCollection FileSystemWatcher ListBox 更新の問題
FileSystemWatcher を使用して、ディレクトリに追加された他の PNG 画像を自動的に追加する ObservableCollection があります。ListBox には、次の XAML を使用して Photos オブジェクトにデータバインドされた ItemsSource があります。
ただし、監視対象のディレクトリに PNG ファイルが追加されると、OnPhotoCreated イベントが呼び出されます (ブレークポイントがこれを確認します) が、ListBox UI は更新されません。何か案は?
更新 #1: 以下に示すように、イベントを試しました。これにより、新しい画像をスクロールして表示しようとすると、「別のスレッドが所有しているため、呼び出し元のスレッドはこのオブジェクトにアクセスできません」という InvalidOperationException でクラッシュが発生します。Refresh メソッドが必要ないことを望んでいました。
c# - C#WPFデータグリッド:列数は常に0に等しい
C#でWPF Takelitデータグリッドを作成し、ItemsSourceをXAMLで設定しました。列は自動的に生成されます。
このWebサイトにあるものとほとんど同じように、ObservableCollectionを使用するデータグリッドを実行しようとしています。
下部にダウンロードできるサンプルがあります(ここにリンクがあります)
私の問題は、特定の列の特定のプロパティ(例:Datagrid.Columns [index]。Property)を変更しようとしていることですが、列数が常に0に等しいため、これは機能しないようです。したがって、できません。 Columnsコレクションには何もないように見えるので、使用したいインデックスを使用してプロパティを変更します。ただし、実行時に表示される列があります。
では、列数が0に等しい可能性があるのはなぜですか?
と
自分の状況で特定の列のプロパティを変更するにはどうすればよいですか?
wpf - Collection 内の個々の要素に TextBoxes をバインドする方法
List という名前の ObservableCollection を持つクラスがあり、個別にテキスト ボックスにバインドしようとしています。努力しています:
StringObject クラスは次のとおりです。
誰かがアドバイスできますか?