問題タブ [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.
silverlight - Silverlight の PropertyChanged イベントが双方向のテキスト ボックス バインディングで発生しない
クラス プロパティがテキスト ボックスのテキスト プロパティに双方向でバインドされている場合、テキスト ボックス内のテキストを変更すると、クラスの "PropertyChanged" イベントが発生するはずですか? 私の場合は違います。テキスト ボックスの内容を変更しても、メッセージ ボックスは表示されません。ただし、プロパティが変更されるとテキストボックスが変更され、その逆も同様です。
編集:テキストボックスがフォーカスを失った場合にのみ、それが起動することに気付きました。私は、この行動の背後にある理由があるに違いないと思います。
コード:
Xaml:
wpf - Rhino モックとデータバインディングを使用した InvalidOperationException
ClassUnderTest
モデルのプロパティにバインドするプロパティを持つクラス (例では と呼ばれる) の単体テストをいくつか書いています。モデルはインターフェース ( IModel
) で定義されているため、モデルは Rhino Mocks モックによってモックされます。
サンプルコード:
モデルのインターフェース:
テストするクラス:
単体テスト方法:
テストメソッドを実行すると、すべて正常に動作します。モデル モックでプロパティ変更イベントを発生させると、ClassUnderTest クラスでも変更が発生します。
私が今抱えている問題は、デバッグ モードでのみ観察されます。テストの最後に、InvalidOperationException が発生します。
私が理解しているように、これはバインディングがテストの最後にすべてのオブジェクトを破棄することによってサブスクリプションの解除を引き起こすためですが、モックは既に検証状態にあり、もはや相互作用を許可していません。
ここで私の質問: この例外またはサブスクリプションの解除を回避する方法はありますか? または、Rhino モックを間違った方法で使用していますか?
助けてくれてありがとう
javascript - IE でクラス変更を検出する方法
クラスが変更された後、いくつかの要素をクリックします。この瞬間を検出して何かをする必要があります。IE 以外のブラウザの場合、私は を使用していますMutationObserve
が、IE はこの機能をサポートしていないため、使用していますOnPropChanged
が、何かが正しくありません。誰か教えてもらえますか?
助けてくれてありがとう。
wpf - イベント セッターをデータ コンテキストのイベントにバインドできますか?
私はこのようなものを作成しようとしています -
私は観察可能なポイントのコレクションを持っています。各点には位置と色があります。ポイントの位置や色が変わると(通知の変更が実装されます)、背景のグラデーションを「再描画」したいと思います。現在、スライダーをポイント位置にバインドし、グラデーションを最初に描画する項目コントロールがあります。ここで、「ポイント」で propertychanged イベントが発生したときにビューのコード ビハインドで関数を呼び出す方法を知りたいので、グラデーションを再描画できます。イベントセッターを何らかの方法で使用できるかどうか疑問に思っていますか?
コード ビハインドで propertychanged イベントのサブスクライブを実行できますが、XAML で実行したいですか?
注意してください:他の理由でコードビハインドを手動で再描画するこのアプローチを特に取りたいので、代替ソリューションではなく上記の特定の問題に対する回答を得ることができれば.
c# - PropertyChangedEventHandler はどのように機能しますか?
これは非常に単純な質問ですが、誰かが 4 行目が実際に何をしているのか説明できるかどうか疑問に思っていました。したがって、最初の行はハンドラーにイベントを与えます。どのような状況でハンドラーが null を返すか、最後の行が何をするかはよくわかりません。
ハンドラーにオブジェクトと変更されたプロパティを渡すと、それらはどうなりますか?
これを使用してこのコードを取得したと思いますが、それが何をしているのかを完全に理解したいと思います。
c# - 一般に、別のクラスで PropertyChangeNotification 変更プロパティを発生させる
私は2つのクラスを持っています:
- ViewModelA
- メイン ビュー モデル。
どちらもインターフェースを実装していINotifyPropertyChanged
ます。
MainViewModel は、ViewModelA オブジェクトの監視可能なコレクションを保持します。MainViewModel のプロパティ "Y" で PropertyChangeNotification をトリガーするには、ViewModelA クラスの特定のプロパティ "X" を変更する必要があります。
質問 1: これを実装するための一般的な方法は何ですか?
質問 2: ObservableCollection で CollectionChanged をリッスンし、イベント ハンドラーをアタッチ/削除すること (「X」プロパティが変更されたかどうかを確認し、変更された場合は「Y」プロパティ変更通知をトリガーする) は悪い習慣ですか? はいの場合、なぜですか?