問題タブ [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.
java - jFormattedTextField の Formatter.setCommitsOnValidEdit(true) が最初のフォーカスで機能しない
私は持っていて、 truejFormattedTextField
に設定setCommitsOnValidEdit
してから、「値」プロパティの「プロパティ変更」にイベントリスナーを追加しました。
最初の焦点は、jFormattedTextField
入力時にイベントリスナーメソッドを呼び出さないことです。しかし、「focusLost」ではイベントリスナーを呼び出し、その後再びフォーカスを受け取ると、入力時にイベントリスナーを呼び出します。
その中でいつでも変更後にイベントリスナーを呼び出してくださいjFormattedTextField
(最初のフォーカスでも)。
どうしたの?どうすれば修正できますか?
c# - Prism + MVVM + Access Keys + UpdateSourceTrigger="LostFocus" -- これにより、最初にフォーカスを失うことなく、更新されたテキスト ボックスを保存できません。
この問題に取り組む方法がよくわかりません:
アクセスキーが添付された「保存」ボタンがあります...しかし、テキストボックスに何かを入力してアクセスキーを押して保存すると、テキストボックスはフォーカスを失うことがないため、ビューモデルを更新しません。UpdateSourceTrigger を PropertyChanged に変更する以外にこれを解決する方法はありますか?
c# - リストINotifyPropertyChanged イベント
文字列プロパティと List プロパティを持つ単純なクラスがあり、INofityPropertyChanged イベントが実装されていますが、文字列 List に .Add を実行すると、このイベントはヒットしないため、ListView に表示するコンバーターはヒットしません。私は、変更されたプロパティがリストへの追加でヒットしないと推測しています....どうすれば、プロパティが変更されたイベントをヒットさせる方法でこれを実装できますか???
他のタイプのコレクションを使用する必要がありますか?!
助けてくれてありがとう!
wpf - プロパティが変更されたコールバックでコンバーターを使用してバインディングを使用するか、更新を使用する方が速いですか?
迅速な更新が必要なので、どちらがより高速で効率的かを考えていました。
wpf - TreeviewおよびPropertyChangedを使用する場合のNullReferenceException
NullReferenceException
ビューモデルのバインドされたプロパティを更新すると、が表示されます。TreeView
これは、ビューでコントロールを使用した場合にのみ発生します。リストに置き換えると、例外はなくなります。
これは、デバッガーが私のコードで中断する場所です。
約30回の呼び出しの後、多くPresentationFramework
のWindowsBase
アセンブリを介して、例外が実際にここで発生します。
これはTreeView
:
ListBox
代わりにこれを使用すると、問題は解決します。
これが役立つかどうかはわかりませんが、更新されるプロパティは次のとおりです。
そして、これがそのプロパティを更新するための呼び出しです:
誰かがこのようなことを経験したことがありますか?
問題の原因がわからないので、を使用したくなりListBox
ます。
ListBox
確かに、私は現時点でほとんどを使用する必要があります。
どうすればこれをトラブルシューティングできますか?PresentationFramework
アセンブリのバグですか?
また、これは私のビューのコードビハインドであり、アイテム変更イベントの処理を示しています。
編集
誰かがもっとコードを要求したので、ここにあります:
c# - WPFのTelerikScheduleViewコントロールのプロパティの変更を監視する
クラスには2つのプロパティ(WPFコントロール)があります:HorizontalOffset
とVerticalOffset
(両方のパブリックDouble
)。これらのプロパティが変更されるたびにメソッドを呼び出したいと思います。これどうやってするの?私は1つの方法を知っていますが、それは正しい方法ではないと確信しています(DispatcherTimer
非常に短いティック間隔を使用してプロパティを監視します)。
より多くの文脈のために編集:
これらのプロパティは、telerikスケジュールビューコントロールに属しています。
c# - アクションをパラメーターとしてメソッドをオーバーライドする
ユーザーがPropertHasChangedイベントを簡単に使用できるようにし、追加の処理を実行できるようにする一連のメソッドがあります。メソッドは次のとおりです。
extraFunction アクションで古い値が必要になる場合があることが明らかになりました。これは私がそれを行うつもりだった方法です:
お気づきかもしれませんが、extraFunction アクションは 2 つのパラメーターを受け取るようになりました。VS にはメソッドの作成に問題はありませんでしたが (赤い qwigglies はありません)、ビルドすると、最初のメソッドと 2 番目のメソッドの間の使用法があいまいであるという多くのエラーがスローされます。その場合、探しているものをどのように達成できますか?
編集
メソッドの通常の使用法は次のとおりです。
wpf - UpdateSourceTrigger=PropertyChanged で Decimal にバインドされた TextBox
私はしばらくこの問題と戦ってきましたが、具体的な回避策を思いつくことができないようです.10進数にバインドされたTextBoxがあり、バインディングにはUpdateSourceTriggerがPropertyChangedに設定されており、必然的にそうです(この場合、LostFocus はうまく機能しません)。デフォルトの動作は何らかの形で説明可能であると確信していますが、私の目的には受け入れられないため、次の StringFormat を試しました。私の最初の修正は、バインディングに文字列形式を追加することでした...私の場合は
したがって、.12345 または 1.5 のようなものを入力すると、解決策はうまく機能しますが、.01234 と入力すると、ゼロ キーを押すとすぐに、入力したばかりの 10 進数が削除されます。データ入力の。文字列の書式設定に慣れていないことを願っています。最悪のシナリオでは、公開されたプロパティを文字列にし、セッターとゲッターを 10 進数に変換するだけですが、それはハッキーなソリューションのようです。
ありがとう!
アジ
c# - 編集可能な WPF ComboBox が起動しない PropertyChanged
SQL データベースのすべてのテーブルを表示するための編集できない ComboBox があります。
含まれている UserControl のプロパティは次のようになり、INotifyPropertyChanged も実装します。
次のデータ バインディングを使用して ComboBox を埋めます。
しかし、ComboBox の選択された値を変更しても、PropertyChanged 通知を受け取りません。私のせいはどこですか?
c# - C#/WPFでネストされたプロパティから通知を取得するには?
ビュー モデルに次のプロパティがあり、ビューはこのプロパティにバインドされています。
ActiveCategory
( 内の_catManager
) が他のイベント (このビューの外部) から変化する可能性がある特別なケースを除いて、すべて正常に機能します。
Category Manager
ビューモデル全体を公開したくないので、必要なプロパティのみを公開しています。このビューモデル内でトリガーされない変更であっても、ビューがすべての変更を通知されるようにするための最良の方法は何ですか?