問題タブ [inotifypropertychanged]

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 に答える
1225 参照

c# - WPF DataBinding、CollectionViewSource、INotifyPropertyChanged

初めて WPF で何かをしようとしたとき、WPF DataBinding に戸惑いました。次に、MSDN で次の例を徹底的に調べました: http://msdn.microsoft.com/en-us/library/ms771319(v=VS.90).aspx

これで、マスター部分と詳細部分の両方で、1 つのソース (1 つのテーブル) からデータを取得するフォームにマスター/ディテール パラダイムを使用する方法がよくわかりました。たとえば、データを含むグリッドがあり、グリッドの下に現在の行の詳細なデータを含むフィールドがいくつかあります。

しかし、詳細なデータが異なるが関連するテーブルから取得された場合、どうすればよいでしょうか? 例: 'id' と 'Name' 列を持つテーブル 'Users' があります。「id」、「Filename」、「UserId」などの列を持つ別のテーブル「Pictures」もあります。そして今、マスター/ディテール パラダイムを使用して、フォームを作成する必要があります。また、マスターで行を選択するたびに、関連するすべての画像が詳細に表示されます。

それを行う正しい方法は何ですか?例を教えてください。

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

c# - 内部オブジェクトのプロパティが変更されたときにPropertyChangedを自動的に発生させる

私はこのようなシナリオを手に入れました

PropertyChangedNotificationXが変更されたときにプロパティAを取得するにはどうすればよいですか?クラスAで「親」を参照したり、デカップリングを台無しにするようなイベントを参照したりしたくありません。私が基本的に欲しいのはを作ることParent.IsDirty==trueです。これは私の話の非常に単純化されたバージョンであり、Parentのような数十のクラスを取得したので、これを処理するための一般的な方法を探しています。

これは実際のコードではないことに注意してください。私はすべてのINotifyPropertyChanged実装を手に入れました。私はちょうどのような簡単なメカニズムを疑問に思っていますRaisePropertyChanged("A.X")

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

c# - PostSharp 1.5 で INotifyPropertyChanged を実装する

.NET と WPF は初めてなので、正しく質問していただければ幸いです。PostSharp 1.5 を使用して実装された INotifyPropertyChanged を使用しています。

}

次に、[NotifyPropertyChanged] を実装するクラス (ユーザーとアドレス) がいくつかあります。それは正常に動作します。しかし、私が望むのは、子オブジェクトが(私の例のアドレスで)変更された場合、親オブジェクトが通知されることです(私の場合はユーザー)。このコードを拡張して、子オブジェクトの変更をリッスンする親オブジェクトにリスナーを自動的に作成することは可能でしょうか?

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

c# - WPFのDataContextにINotifyPropertyChangedを実装しますか?

データバインディングを行う場合、WPFのデータコンテキストにINotifyPropertyChangedを実装する必要がありますか?

0 投票する
5 に答える
21208 参照

c# - プロパティ変更イベントリスナー(それらの多く)をよりエレガントに処理します(辞書?)

こんにちは !

ここに、型クラスBの3つのフィールドと他のいくつかのものを含む単純なクラスの例があります。ご覧のとおり、すべての子オブジェクトの変更をリッスンしています。型クラスBのプロパティがたくさん必要になる可能性があるので、コードを縮小する方法があるかどうか疑問に思います。リスナーとそれぞれのメソッドを作成すると、たくさんのコードがあるように見えます。辞書などを使用してこれを修正するにはどうすればよいですか?IoCでこれを修正できると言われましたが、どこから始めればよいかわかりません。

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

c# - クラスのインスタンスに(INotifyPropertyChanged機能)を挿入する

INotifyPropertyChangedを実装するクラスがあります。あるviewModelでクラスのインスタンスを作成します。この機能をクラスから削除して、インスタンスの作成後に注入することは可能ですか?ICustomTypeDescriptorがこれを実現すると聞きましたが、使い方がわかりません。

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

wpf - 値オブジェクトとビューモデルプロパティ

私はアーキテクチャにDDDを使用したソリューションに取り組んでいます。ViewModelにValueObjectを指すプロパティがあり、ビューモデルはINotifyPropertyChangedインターフェイスも実装しています。ユーザーがフロントエンドにデータを入力すると、ValueObjectの値が変更されます。私が遭遇している問題は、値オブジェクトが不変であると想定されていることです。この問題を回避するにはどうすればよいですか?前もって感謝します。

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

wpf - WPF:ソフト削除とバインディング?

INotifyProperyChanged を実装するカスタム オブジェクトがありますが、バインディングでうまく機能するソフト削除を実装できるかどうか疑問に思っています。各オブジェクトには IsDeleted プロパティがあり、このプロパティが true に設定されている場合、GUI に表示されません。Binding クラスを装飾するカスタム マークアップ拡張機能を作成することを考えていましたが、期待どおりに機能しませんでした。現在、IsDeleted をバインドされたプロパティの 1 つとして MultiBinding を使用して、コンバーターが削除されたオブジェクトを特定できるようにすることを検討しています。しかし、このソリューションは非常に複雑で退屈に思えます。

バインディングのためにソフト削除を実装する方法を知っている人はいますか?

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

.net - 接続されているすべてのクライアントに(INotify)PropertyChangedイベントを発生させるバックエンド?

「フロントエンド」開発者の1人は、バックエンド開発者に、接続されているすべてのクライアント(クライアント/サーバー環境)にオブジェクトの変更を通知するように要求し続けます。例:1人のユーザーが変更を加えるたびに、接続されている他のすべてのクライアントに変更をすぐに通知する必要があります。

現時点では、私たちのアーキテクチャにはそのような通知システムがなく、明示的に選択されたオブジェクト(たとえば、フロントエンドが現在実装しているオブジェクト)用の一種のpub/subモデルがありません。ユースケースimhoですが、明らかに追加の実装が必要です。

ただし、フロントエンドは通常、同じオブジェクトに同時に存在するユーザーの変更のロックをチェックし、バックエンドがすべてのオブジェクトのすべてのクライアントにすべての変更を絶えずプッシュするのではなく、オンデマンドでバックグラウンドで変更/ロードをプルするのではないかと思いました。私には過剰です。

ただし、たとえばMS Entity Frameworkは、ローカルの変更だけでなく、他のクライアント接続を含むすべての変更に対して(INotify)PropertyChangedを実際に公開するという議論がありますが、これに関する証拠や詳細は見つかりませんでした。

誰かがこれに光を当てることができますか?他の例えばORMなどはエンティティにブロードキャストされた(INotify)PropertyChangedイベントを提供しますか?

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

wpf - GridViewColumn が ListView の PropertyChanged イベントをサブスクライブしていない

次のように、INotifyPropertyChanged を実装するクラスのプロパティにバインドされた GridView を持つ ListView があります。

クラスは次のようになります。

そこで、BackgroundWorker を起動してレコードの書き込みを開始し、RecordsWritten プロパティを更新して、UI で値が変更されることを期待しますが、変更されません。実際、Subscription オブジェクトの PropertyChanged の値は null です。WPF は INotifyPropertyChanged を実装するデータ オブジェクトの PropertyChanged イベントをサブスクライブするはずだと思っていたので、これは難問です。ここで何か間違ったことをしていますか?