問題タブ [propertychanged]
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 - データバインディングがない場合に Model から View に propertychanged を渡す
これがよく議論されていることは知っていますが、私はこれを機能させることができませんでした。
View - ViewModel - WPF にモデルがあります。Model のプロパティが変更されたという情報を渡す必要があります。最終的にビューで情報を処理する必要があります。ここでは、View から ViewModel へのデータ バインディングがないことに注意してください。
ViewModelには、モデル オブジェクトのコレクションがあります。
モデルは次のとおりです。
私がしたいのは、ViewModel のコレクション「Items」内のアイテムのいずれかでプロパティ「Name」が変更されるたびに実行される View コード ビハインド (以下を参照) でプロシージャを実行することです。
ビュー:
更新 1 >>>
カスタム クラスに対応して、VB.NET (以下) に変換しようとしましたが、この派生クラスでイベントをオーバーライドする際に問題があるようです。「Protected Shadows Event PropertyChanged」が正しい方法かどうかわかりません。「PropertyChanged は T のイベントではありません」という item.PropertyChanged を取得します。
これで私を助けてくれませんか。そうでなければ、私はコンセプト/アイデアを得ました。
c# - メソッド データを継続的に取得します。
Kinects 加速度計からデータを取得しようとしていますが、変更通知イベントがないため、データを取得するために今 while ループを使用しています。AccelerometerGetCurrentReading () メソッドの結果をプロパティにバインドしてから、propertychanged イベントなどを使用する方法はありますか?
c++ - MFC - プロパティが変更されるたびに特定のメソッドを実行する方法
数日前、私のデータベースのクライアントとして機能する MFC アプリケーションの開発を開始しました。最近、プロパティウィンドウでプロパティ値が変更されるたびに実行されるメソッド(できればコンボボックスとして機能するフィールド)を実装しようとしていました。私の最初の試みは、CMFCPropertyGridProperty::OnUpdateValue()
. このメソッドを適切に「実装」することはできましたが、期待どおりには機能しませんでした (ここでの主な問題は、CProperties クラスに直接実装しなかったことだと思いますが、他の参照は見つかりませんでしたインターネット)。
そこで、メッセージ マップに基づくコマンドに移りました。、 、 などON_CONTROL_REFLECT
、さまざまな種類のコマンドを試しましたが、どれも役に立たないようです。主なプロパティ (これらの前のコマンドの最初の引数) を定義する際に大きな間違いを犯したのか、それともクラス専用のコマンドなのかはわかりません。つまり、これらのコマンドは現在のプロパティ グリッドには役に立たないように見えました。これまで使用した唯一の「コンボボックス」は、メソッド CMFCPropertyGridProperty::AddOption() が使用されたときに生成されるものだからです (重要な注意: 私の全体プロパティ グリッドは、基本的に CMFCPropertyGridProperty オブジェクトによって形成されます)。CBN_EDITCHANGE
CBN_EDITUPDATE
CCombobox
とにかく、疑問に対する答えとこの問題の解決策は簡単だと思いますが、私はまだ C++ と MFC の初心者です...
wpf - コンテナーを閉じるときに XAML Datagrid がバインドを更新しない
WinFormsフォーム内にデータグリッドを持つWPFユーザーコントロールがあります。データグリッドは、ItemsSource バインディングを使用してデータソースにバインドされます。すべて正常に機能するため、データが変更されると、変更がオブジェクト モデルに反映されます。
ただし、ユーザーがデータグリッドでデータを編集しているときにホスティング コンテナーの [閉じる] ボタンをクリックすると、データグリッドはバインドを更新しません。おそらく、フォーカスが失われたとは考えていないためです。フォームが閉じ、変更が失われます。
同じ問題がテキスト ボックスにも当てはまりますが、UpdateSourceTrigger=PropertyChanged を使用して、テキストが変更されるたびに基になるモデルが常に更新されるようにすることで回避できます。理想的ではありませんが、問題は回避されます。
ソースを更新するためにデータグリッドを PropertyChanged モードに切り替える方法、または基になるオブジェクトへのバインディングを介してデータグリッドに変更を強制的に保存する方法を知っている人はいますか?
これを調査しているときに、この記事が役立つことがわかりました: http://www.jerryhuang.net/post/Force-a-data-binding-to-update.aspx
ありがとう
c# - クラス アイテムにバインドし、セットが実行されていない
私のViewModelには次のものがあります:
私からしてみれば:
テキストボックスに入力中にアイテムのセットをトリガーする可能性はありますか? または、クラスのすべてのフィールドにプロパティを作成する必要がありますか?
c# - 親クラスからクライアントの子クラスのプロパティの変更を通知する方法は?
私はライブラリを作成しており、クライアントは自分のライブラリを使用しています。
クライアントは、基本クラスから派生した独自のクラスを作成します。
クライアントのクラス プロパティが変更されたことを検出できますか?
クライアントに INotifyPropertyChanged を実装させたくありません。
私は他の目的にもリフレクションを使用しています。リフレクションがプロパティの変更ステータスを検出できないのはなぜですか?
私のライブラリコード:
クライアントのコード: