問題タブ [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.
wpf - Binding textbox to listbox twoway onewaytosource problems?
I use the textName for the user to enter his name. Then typing, the textchanged event updates the listbox with the names that matchs with the input, then the user can click on an item (CompletedName in listbox), and when it happens I need the textbox updates with the item content.. This problem started to happen when I changed the "GivenName" (as a field from the table I query) for the "CompletedName".. (it is a string concat from the query as u see above)
I have this LINQ query:
Then I make this the source for a listbox named listNames and I have this textbox:
When I run it, the next error is shown: "A Two Way or OneWayToSource binding cannot work on the read-only property 'CompleteName' of type '<>f__AnonymousType0`1[System.String]'"
I understand, of course that it can not be a TwoWay or OneWayToSource. But I need the user can add content to the textName, because it is also a search textbox, without updating the SelectedItem on the listbox.
If I add to the textbox the expression Mode=OneWay.. nothing happens in the textName control, I mean it doesnt show the item from the listbox.. What should I do for make it work??
wpf - ObservableCollectionにいくつかの要素をバインドするWPF TwoWay
いくつかの ComboBoxes を 1 つの ObservableCollection にバインドする必要があります。私はこれを持っていますListView
。
コレクションをすべての ComboBoxes にバインドし、ComboBox ごとに選択したアイテムを保存します。TwoWay モードで 1 つのコレクションを埋めてすべてのコンボボックスにバインドすると、次のようになります。
同様のコレクションを含むヘルパー クラスが必要だと思います。どうやってするか?
wpf - .NET 4.0を使用した「リンクされた」変数(上/左および高さ/幅)のTwoWayバインディング
.NETFramework4.0に切り替えるときに問題が発生しました。Top/LeftおよびWidht/Heightプロパティで双方向バインディングを使用するウィンドウがあります。
viewModelを変更する必要があるときに問題が発生します。
基になるViewModelを変更した後、viewModelに対応するpropertynameでPropertyChangedイベントをトリガーすると、Leftプロパティのバインディングがトリガーされ、ウィンドウが正しいX位置に移動します。しかし、ウィンドウを移動するアクションは「ソースへ」をトリガーし、viewModelのTopプロパティを設定します。 編集:「設定」は行われていませんが、Yバインディングは処理されません。
Height&Widthプロパティと同じ動作。
これが私の問題を示す小さなアプリケーションです。
これがモデルです:
そしてここにビューがあります:
そして最後に、コードビハインド:
私が知りたかったのは、バインディングを「フリーズ」して、要求したすべてのバインディングの処理が完了するまでエンジンがviewModelを設定しないようにする方法があるかどうかです。または、バインディングをtwoWayからOneWayに短時間切り替えます。
ここでの小さなアプリケーションは、.NET Framework 3.5を使用すると正しく動作しますが、4.0では動作しません。
同じ問題に苦しんでいる人を見つけることができなかったので驚いています、私は何か間違ったことをしていますか?ご回答ありがとうございます。不明な点がございましたら、お気軽にお問い合わせください。
Jean-Loup Kahloun
今朝ログを追加しました(ここに投稿する前に追加する必要があります)。あなたが行ったように、「設定」は行われていませんが、Yバインディングは処理されません。実際にウィンドウの位置を数回切り替えると、動作はさらに奇妙になります。
コードビハインドの使用を避けたかったのですが、ソリューションをテストします(テスト目的でのみ使用したものもあります)。
迅速に回答していただきありがとうございます。コードビハインドのない解決策を見つける時間ができたら、折り返しご連絡いたします。モデルが設定されていないため、奇妙な動作をする「Position」バインディングがトリガーされた直後に、propertychangedイベントでXバインディングとYバインディングを別々にトリガーできる可能性があります。
もう一度ありがとう、私は間違った方向に進んでいました、あなたは私にたくさんの時間を節約しました。
silverlight - コードでのSilverlightデータグリッド双方向データバインディング
双方向バインディングのDataGridがありますが、これが機能しない理由がわかりません。助けていただければ幸いです。
双方向バインディングオブジェクトを使用して、DataGridに動的にバインドしたかったのです。
XAMLの列を使用しました。'ItemSource"プロパティを直接設定した場合(機能しますが、2つのバインディングは機能しません)、コードでソースを変更すると、グリッドはその変更を反映しません。
セットアップを説明するための簡単なサンプルを作成しました
これがXAMLです
これが背後にあるコードです
mvvm - SelectedItem プロパティが更新されない
C# と MVVM は比較的新しいですが、MVVM Light Toolkit を使用して WP7 アプリを作成しています。ListBox 内のプロパティの双方向バインディングに問題があります。クライアントの ObservableCollection があり、個々のクライアントを選択しようとしています (クリックすると、新しい ViewModel が表示されます)。
選択した項目をクリックすると、SelectedItem プロパティが更新され、クリックされたクライアントに値が設定されます。ただし、クリックしてもセッターに到達しません(*でブレークポイントをマークしました)。私がどこで間違ったのか、またはより良い提案された解決策があることを誰かが知っていますか? 私はこの場所を何時間もトロールしてきました!
XAML マークアップ:
ビューモデルのプロパティ:
wpf - wpfバインディングリスト、リストボックス、コントロール双方向
テキストボックスで更新した後にリストボックス項目のテキストを更新する方法はありますか? 可能であればバインディングだけでやりたいです。リストボックスはリストから読み取っていますが、リストは更新されていないため、新しいアイテムをリストに追加しない限り変更されません。ここにコードがあります
}
wpf - WPF の双方向バインディングは静的メンバーでは機能しません
Matt Hamilton は、WPF に関する興味深い事実を教えてくれました。バージョン 4.5 では、静的変数を使用した双方向モードでのバインディングが可能です。残念ながら、V4.5 はまだベータ版なので、コードを変更してアプリを最終的に正しく実行することにしました。
しかし、まだ同様の問題があります。
非常に単純なクラス「RecallConnectionSettings」があります。このクラスのこのメンバーは、コード内のどこからでもアクセスできる必要があるため、(次のように) 静的にすることにしました。
ご覧のとおり、変数「サーバー」は 1 つだけです。今私が欲しいのは、TextBox Text-property からその 'Server' 値への 2WayMode バインディングを作成することです。
だから私はこれを試しました:
これは、テキストボックスの値を変更するとうまく機能しますが、反対側からは機能しません。「サーバー」の値を (手動で) 変更すると、テキスト ボックスのテキスト プロパティが更新されません。
もちろん、そうではありません。RecallConnectionSettings クラスに INotifyProperty を実装する必要があることはわかっています。次に、次のようになります。
まあ-これもうまくいきません。静的メソッドしかないため、クラス インスタンスを使用してイベントを呼び出すことはできません。
それで - 今何をすべきですか?シングルトンを使用することを考えたので、これを行いました:
それを機能させるには、UserControl も準備する必要があるため、次のようにしました。
この時点では、試行を続ける必要はありません。これを行うには、既定のコンストラクターを public にする必要があるためです。
私が何をしていても、うまくいきません。私はまだそれがどのように機能するのか理解していないようです - 親切にトリックを教えてくれませんか?
c# - EF オブジェクトの ObservableCollection との双方向バインディングを行う方法
ソースとして Entity フレームワーク オブジェクトの ObservableCollection を持つデータグリッドを作成しました。Datagrid は十分に満たされます。行を編集すると、保存ボタンで保存したときに、デバッガーまたはデータベースでモデルの変更が表示されません。
これが私のXAMLコードです。
ViewModelCollection
Local プロパティを使用していることに注意してください。これが悪いことかどうかはわかりません。
silverlight - TwoWay "Binding" を使用すると ComboBox Silverlight 5 自動検索が機能しない
ComboBox
データバインディングが発生すると、問題に直面するようです。自動テキスト検索が機能していません。ここで助けが必要です。実際の問題が何であるか、または何かを逃したかどうかはわかりません。