問題タブ [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.
wpf - WPF-ComboBoxバインディングの問題
私はWPF/MVVMを使用していて、ComboBoxとのバインディングの問題があります-助けていただければ幸いです!
これが私のコンボです...
そして、これが私のViewModelです...
私の問題は、RemoveCriteriaはリストからアイテムを削除しますが、ビューのComboBoxを更新しないことです。誰かが助けることができますか?
ありがとう、
アンディ
c# - INotifyPropertyChanged の実装 - より良い方法はありますか?
INotifyPropertyChanged
マイクロソフトは、自動プロパティのように、 のために何かきびきびしたものを実装するべき{get; set; notify;}
でした。それとも、それを行うのに何か複雑なことはありますか?
プロパティに「通知」のようなものを自分で実装できますか。クラスに実装するための適切な解決策はありINotifyPropertyChanged
ますか、またはそれを行う唯一の方法はPropertyChanged
、各プロパティでイベントを発生させることです。
PropertyChanged
そうでない場合、イベントを発生させるコードを自動生成する何かを書くことはできますか?
vb.net - EntityObject の PropertyChanged イベントを手動で発生させる方法はありますか?
こんにちは、EntityObject の PropertyChanged イベントを発生させようとしていますが、それを行う方法が見つかりません。これは可能ですか?
.net - INotifyPropertyChangedを実装するプロパティをネストする場合、親オブジェクトは変更を伝播する必要がありますか?
この質問は、INotifyPropertyChangedを実装/使用するときに予想される動作についての私の理解の欠如を示しています。
問題は、バインディングが期待どおりに機能するために、INotifyPropertyChangedタイプのネストされたプロパティを持つ、それ自体がINotifyPropertyChangedを実装するクラスがある場合、これらのプロパティの変更通知を内部的にサブスクライブしてから通知を伝播することを期待していますか?それとも、バインディングインフラストラクチャには、これを不要にするための賢さが期待されていますか?
たとえば(このコードは完全ではないことに注意してください-質問を説明するためだけのものです):
したがって、この例では、PersonオブジェクトにネストされたAddressオブジェクトがあります。どちらもINotifyPropertyChangedを実装しているため、プロパティを変更すると、サブスクライバーにプロパティ変更通知が送信されます。
ただし、バインディングを使用して、Personオブジェクトの変更通知をサブスクライブし、Addressプロパティの変更を「リッスン」しているとします。Addressプロパティ自体が変更された場合(別のAddressオブジェクトが割り当てられた場合)は通知を受信しますが、ネストされたアドレスオブジェクト(都市または通り)に含まれるデータが変更された場合は通知を受信しません。
これは質問につながります-バインディングインフラストラクチャはこれを処理することが期待されていますか、それともPersonの実装内で、アドレスオブジェクトの変更通知をサブスクライブしてから、それらを「アドレス」への変更として伝播する必要がありますか?
この点に到達した場合は、この長く曲がりくねった質問を読むのに時間を割いていただきありがとうございます。
c# - WPFはいつPropertyChangedイベントをサブスクライブしますか?
インターフェイスを実装ClassA
するプロパティを持つObservableCollection
INotifyPropertyChanged
私のウィンドウコードビハインドで、を宣言しClassA variable
、Main()メソッドで初期化しました。
variable.PropertyChanged
WPFイベントが接続されていると思いますが、どうやらPropertyChanged
イベントはnullのままです
wpf - INotifyPropertyChange はコンバーター ベースの値を更新しませんか?
ソースが次のように設定された画像がありますValueConverter
:
バインドされたオブジェクトがPropertyChanged
(から) イベントを発生さINotifyPropertyChanged
せても、イメージは変化しません。これは、WPF がコンバーターが参照するフィールドを認識していないためだと思います。
特定のプロパティが変更されたときに、このコンバーターを再バインド/再実行するように WPF に指示するにはどうすればよいですか?
c# - WPFPropertyChangeはカスケードされません-1つのカスタムクラスの依存関係プロパティをアニメーション化すると他のプロパティが変更されます-PropertyChangeは最初にのみ起動します
非常に単純化されていますが、これが私の問題です:(下部の解決策)
AnimatableとINotifyPropertyChangeを継承するカスタムクラスがあり、1つのDependencyProperty(たとえば、1から10までアニメーション化)と1つの追加プロパティ(バインディングを使用してXAMLから使用したい)が含まれています。
GUI要素をプロパティにバインドすると(AnimateValue)、すべてが期待どおりに機能します。GUI要素を関連するプロパティ(GuiValue)にバインドすると、何も起こりません。変更されたイベントはそのプロパティに到達しないと思いますが、問題を解決する方法が本当にわかりません。ポインタはありますか?
どんな助けでも大歓迎です!
編集:AdamSillsとKaiWangからの2つの返信に感謝します。2回目のOnPropertyChange呼び出しを省略してくれたのは愚かでしたが、以前に試したのですが、うまくいきませんでした。デバッグするために、私はAnimateValue.set関数に書き込み行を入れて、見よ、それはまったく実行されません!
また、ゲッターを変更して、常に20を返すようにしました。変更はありません。:-oアニメーションはプロパティgetとsetを完全にスキップし、アニメーション化して基になる依存関係プロパティを読み取るようです...または私は誤解しましたか?私が使用するアニメーションコードは次のとおりです。
うーん...ここにそのコードを書いた後、セッターが使用されていないことは非常に合理的です(私は本当にそれを望んでいますが!)-それでも、基本的な問題は残っており、ゲッターが使用されない理由がわかりません!
Edit2:解決策!
以下に示すように、DependencyPropertyに接続するプロパティにINotifyPropertyChangeを使用できませんでした。アニメーションとXAMLは内部でDepencencyPropertyを使用し、ゲッターとセッターをまったく使用しません。
したがって、-PropertyChangedCallbackは変更を他の人に通知し、CoerceValueCallbackはデータを「修正」します。データを検証することも可能です。これはすべて、DependencyPropertyコンストラクターで行われます。皆さんありがとう!
ありがとう!
/ビクター
.net - INotifyPropertyChanged は Mono でサポートされていますか?
私は現在、標準の .Net Framework と Mono の下で実行できるアプリケーションを開発しています。自分のビジネス モデルに安全に実装できるかどうかINotifyPropertyChanged
、Mono フレームワークが追加の労力なしでそれを取得できるかどうか疑問に思っていましたか?
一般に、Mono Framework でのデータ バインディングのサポートは十分に優れていますか?
c# - foreachループ内のC#WPF OnPropertyChanged
私はWPFとデータバインディングを学び、活用しようとしています。このスニペットに示すように、3つの画像のいずれかを表示する列を持つリストビューがあります。
PropertyChangeイベントを処理するための次のコードを含むクラス(BatchQueueItem)があります。
そして、リストビューウィンドウページにボタンがあります。
私が抱えている問題は、foreachループが完了し、btnStart_Click()メソッドが完了するまで画像が更新されないことです。それが発生すると、すべてのイメージが期待どおりに更新されますが、繰り返しではなく一度にすべて更新されます。
私が望んでいたこと、そして私が起こると思ったことは、foreachループの各反復が対応する行のイメージを更新するということでした。間違いなく、これがどのように機能するかについて重要な何かが欠けています。任意のヒント?