問題タブ [two-way-binding]

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 投票する
2 に答える
6619 参照

wpf - GridView での双方向データ バインディング

GridView との単純な一方向バインディングを使用してデータを表示するアプリがあります。さて、ユーザーがそのデータの一部を変更できるようにする必要があるため、GridView で双方向のデータ バインディングを機能させようとしました。これまでのところ、すべてが正しく表示されていますが、GridView でセルを編集しても何も起こらないようです。私は何を台無しにしていますか?このような双方向のデータバインディングは可能ですか? おそらく DataGrid のように、別のコントロールを使用するようにすべてを変換する必要がありますか?

私の問題を示す小さなテストアプリを作成しました。試してみると、初期化後にプロパティ セッターが呼び出されないことがわかります。

Xaml:

そして、対応するコードは次のとおりです。

0 投票する
3 に答える
9366 参照

silverlight - Silverlight の双方向バインディングが機能しないのはなぜですか?

Silverlight TwoWay バインディングの仕組みによると、FirstName フィールドのデータを変更すると、CheckFirstName フィールドの値が変更されるはずです。

そうでないのはなぜですか?

答え:

ジェフに感謝します、それでした、他の人のために:ここにダウンロード可能なコードを含む完全なソリューションがあります.

XAML:

コードビハインド:

0 投票する
3 に答える
16210 参照

wpf - ObservableCollection を DataTemplate の TextBoxes にバインドするにはどうすればよいですか?

ObservableCollection を DataTemplate の TextBoxes に正常に TwoWay バインドしようとしています。データを正しく表示することはできますが、UI からリスト データを変更することができません。「リスト」という名前の ObservableCollection を含む「モデル」という名前のモデル クラスがあります。クラスは、INotifyPropertyChanged インターフェイスを実装します。シェルの xaml は次のとおりです。Window1 のグリッドの DataContext は、「theGrid.DataContext=model」に設定されています。

これはモデル クラスのコードです。

私がこれを正しい方法で行っているかどうか、誰にもアドバイスできますか?

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

wpf - WPF、ハッシュテーブルへの双方向バインディングはソースオブジェクトを更新しません

誰かが助けてくれるかどうか疑問に思っています。ハッシュテーブルにバインドして値を正しく表示できますが、指定した双方向バインドでは、変更を加えてもオブジェクトが更新されません。

それがDataTemplateにあることと関係があるかどうかわかりませんか?

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

wpf - WPF 双方向バインディング: TextBox を、設定したばかりの値の書式設定されたバージョンで更新するにはどうすればよいですか?

DateField文字列Valueプロパティを持つ というクラスがあります。このプロパティを有効な日付に解析できる文字列に設定Valueすると、プロパティ セッターは適切にフォーマットされた日付に設定します。

このフィールドにバインドされた TextBox を作成します。

たとえば、"010109"このフィールドに入力してタブから移動すると、プロパティがこの文字列にBinding適切に設定されます。Valueプロパティ セッターが実行され、_Value正しく設定され"01/01/2009"(TryParseこのクラスの実装は、受け入れられるものよりも少しカトリック的DateTime.TryParseです)、PropertyChangedイベントが発生します。リストに登録されている別のオブジェクトが更新されるため、この最後のビットが発生していることはわかっています。

しかし、そうでTextBoxはありません。なぜだめですか?私は設定Valueしました、私は上げましたPropertyChanged; 私はこれ以上何をする必要がありますか?

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

c# - ListView TwoWayバインディングへの辞書-可能ですか?

2つのテキストボックスを持つグリッドで構成されるアイテムテンプレートであるListViewに辞書をバインドしようとしています。理想的には、ListViewに表示されるKeyValuePairのキーと値の両方を変更できるようにしたいと思います。それは可能ですか?

0 投票する
3 に答える
3926 参照

wpf - SelectedItem への ListBox TwoWay バインド

この質問が何度も聞かれるのを見て、自分のコードを何度も調べてきました。しかしSelectedItem、オブジェクトを使用してバインドされたプロパティに割り当てると、ディスプレイの選択されたアイテムが更新されません。はListBox、割り当てたオブジェクトがそのアイテムのメンバーではないと考えているようです。

これは、私が設定しようとしている場所の 1 つからの impl ですSelectedTube- 間違いなくメイン スレッドで発生します。

手動でクリックしない限り強調表示されないことに気付きましたSelectedTubeが、無視していました。しかし、選択したアイテムをScrollIntoViewCenteredしたかったので、変更DependencyPropertyを監視するためにビューにa を追加しましたSelectedItem。ハンドラーは最初は次のように見えました。

SelectedItemしかし、バインディングを介して設定すると機能しませんでした。画面上にない場合にのみスクロールしたいと判断した後、コードを次のように変更しました。

が外部で設定されている場合SelectedItem、コンテナは null です。毎回。ItemsSourcenull をチェックするコードを追加してから、一致するファイル名を探して繰り返し処理し、更新してリストボックス内のオブジェクトが間違いないSelectedItemことを確認しました。SelectedItem運がない。

アイテムが画面上にある場合、それはまだ強調表示されません。ある種の等価関数を実装する必要がありますか? 私はこれについて、人が考えているよりも多くの時間を無駄にしました。

ありがとう。

0 投票する
3 に答える
4778 参照

c# - コントロールをWPFのコレクション/配列の単一の値にバインドします

WPFには、ブール値のコレクションがありますか?値と私はこれらのそれぞれをプログラムで別々のチェックボックスにバインドしたいと思います。コード内のコレクション内の個々のアイテムの値を変更するとチェックボックスが更新され、その逆も同様になるように、バインディングをTwoWayにする必要があります。

私はこれを行う方法を理解しようと何年も費やしてきましたが、完全に行き詰まっています。次のコードでは、チェックボックスはウィンドウがロードされたときにのみ正しい値を取得します。それだけです。チェックボックスを変更しても、コレクションの値は更新されません。(更新:コレクションは同一の.NET3.5プロジェクトで更新されるため、これは.NET4のバグのようです。更新:Microsoftはバグを確認しており、.NET4リリースで修正される予定です。)

よろしくお願いします!

C#:

XAML:

0 投票する
3 に答える
14404 参照

c# - WPFで双方向のデータバインディングを実現するにはどうすればよいですか?

WPFでの双方向バインディングについてはよく耳にしますが、それを実現する方法や実際の意味については完全にはわかりません。

たくさんListViewのアイテムが入っています。ユーザーが新しいアイテムを選択するTextBoxと、アプリケーションのaはそのテキストを変更して、選択したアイテムのプロパティを表示します。

ただし、ユーザーがテキストボックスのテキストを変更した場合は、ListViewアイテムもすぐに更新する必要があります。これを実現するための「双方向バインディング」の魔法のWPF方法はありますか?

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

wpf - WPF 双方向 DataBinding - DataView への編集可能な ComboBox

コンボボックスのテキストを編集しているときに、バインドされたデータ セットが変更されません。つまり、ターゲットからソースへのバインディングは行われていません。