問題タブ [2-way-object-databinding]
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.
knockout.js - Knockoutjs2 オブザーバブル バインディングに更新された値が表示されない
1 行目を更新しても、2 行目は更新されません。何が問題ですか?
c# - オブジェクトの ObservableList への DataGrid TwoWay のバインド
データを保存するクラスがあります:
そして、私のUserControlにあるそれのObservableCollection:
このコレクションは DataGrid にバインドされています。
ただし、PropertyChanged イベントも Validation も発生しません。私のせいはどこですか?
どうも。よろしくお願いします
c# - データ バインディング エンジンは内部でどのように機能しますか?
技術的には、データ バインディング エンジンは内部でどのように機能するのでしょうか? 特に、データバインディングにおける「シンクロナイザー」のメカニズムはどのように見え、どのように機能しますか?
.NET、Java、Flex などの多くのフレームワークでは、データ バインディング エンジンが提供されます。私は API 呼び出しを使用しているだけなので、API を呼び出すだけでよいので、すべてが簡単です。
現在、私が取り組んでいるゲーム用の比較的単純なデータ バインディング エンジンを作成することに興味があります。私は C# を使用していますが、組み込みの WinForms とデータ バインディング エンジンを使用できない理由があります (理由については、以下の背景情報を参照してください)。既存のデータ バインディング エンジンを C# で使用できないため、自分で作成する必要があるのではないかと考えました。そのため、データ バインディングが内部で通常どのように機能するかについて、詳細を知る必要があります。これは、C# でデータ バインディングを使用する方法を意味するものではありません。つまり、データ バインディングは内部的およびアーキテクチャ的にどのように機能するのでしょうか。
データ バインディングに関するチュートリアルや記事を Web で検索しようとしましたが、ほとんどの結果は、C# で既存のデータ バインディングを使用する方法であり、私が望んでいるものではありませんでした。
そこで、独自のデータ バインダーの作成を計画する前に、データ バインディング エンジンが内部でどのように機能するかを知る必要があると考えました。さらに重要なことは、データバインディングエンジンの「シンクロナイザー」のメカニズムはどのように見え、どのように機能するのか、つまり、一方向または双方向のバインディングでデータが常に同期されているかということです。
私がこの質問をした理由の背景情報:
少し前に、標準の WinForms を使用していない UI に対して C# でデータ バインディングを使用する方法について質問しました。私が得た答えは、C# のデータ バインディング エンジンは WPF/Windows フォーム UI と密接に結合されているということでした。したがって、C# で既存のデータ バインディング エンジンを使用することはできず、おそらく独自に作成する必要があると思います。これの目的はゲームのためであり、私は取り組んでいます。通常、ゲームには独自のカスタム UI (非 WinForm) があります。私の意図は、ゲーム内の UI とゲーム オブジェクトに MVVM のようなデザインをセットアップすることです。
angularjs - angularJS を使用してインターフェイスを動的にロードする: 双方向バインディングの中断
angularJSを使用して、インターフェイスを動的にロードするWebアプリを構築しようとしています。
Angular (HTML テンプレート + コントローラー) の最初のブートストラップの後、コードの一部をブートストラップできることがわかりました。私の問題は、そうすることで、双方向のデータバインディングが機能しないことです。自分で見て:
何か案が?私は間違った方法で何かを探していますか?
ありがとう!
wpf - 双方向バインディング: チェックボックスのコンボボックス - 機能するが機能しない
チェックボックスが設定された ComboBox があります。
ComboxBox の ItemsSource は、チェック ボックスにバインドされるオブジェクトの List にバインドされます。ビューモデル。ビュー モデルは、ブール フィールド名 Selected を持つ単純なオブジェクト (MultiSelectDropDownItem 型) です。
現在、ItemsSource はプログラムで設定されています。これで問題ありません。ビューモデルにバインドされているチェックボックスの属性はすべて適切に設定されており、チェックボックスをオンまたはオフにすると、変更がビューモデルに反映されます。だから私には、双方向バインディングが機能しています。
問題は、これらの MultiSelectDropDownItems のいずれかの Selected プロパティを他の場所で更新したときです。プロパティは PropertyChanged イベントを発生させますが、今回は変更がチェックボックスに反映されません。
私はこれを長い間見てきましたが、私の人生では、変更が更新されない理由を理解できません-チェックボックスの背後にあるオブジェクトがあったとしても、PropertyChangedイベントがチェックボックスを更新しないのはなぜですかプロパティが変更されましたか?
XAML:
コード ビハインド (VB を許してください - 私の選択ではありません!):
winforms - ExpandoObjectのインスタンスのカスタムプロパティの値を.NETWindowsフォームコントロールにバインドする
コンテキスト:Visual Studo 2012 / C#5.0
3つのテキストボックスコントロール(firstNameTextBox、lastNameTextBox、ageTextBox)と単純なカスタムクラスを備えた.NETWindowsフォームがあります。
そして、 CustomerカスタムクラスのインスタンスのプロパティをWindowsフォームコントロールにバインドしたいと思います。だから私は書く:
そしてそれはうまくいきます。次に、匿名タイプを使用してコードを少し変更します。
}
この場合、私は一方向のバインディングしか持っていませんが、それもかなりうまく機能します。次に、コードをさらに変更します。
ランタイムエラーが発生します:
'データソースのプロパティまたは列FirstNameにバインドできません。パラメータ名:dataMember '
質問:動的カスタムプロパティのセットを持つSystem.Dynamic.ExpandoObject(またはSystem.Dynamic.DynamicObject)のインスタンスを(テキストボックス)コントロールのWindowsフォームセットにバインドするにはどうすればよいですか?
注1:アグリゲーション/コンテナーヘルパークラスを使用したソリューションは、私にとっては問題ありません。
注2:数時間グーグルしてさまざまなテクニック(StackOverflowで見つけたテクニックを含む)を適用しようとしましたが、失敗しました。
HansPassantのヒントに基づく「エレガントな」ソリューションは次のとおりです。
xaml - CheckBox を LongListSelector にバインドする
LongListSelector にいくつかの CheckBox をバインドしようとしています。それらはバインドされ、ビューがレンダリングされるときに正しい CheckBoxes がチェック/チェック解除されますが、CheckBoxes をチェック/チェック解除して基になるオブジェクトを変更することはできません。
私のViewModelには次のコードがあります:
-
CollectionChanged イベントをサブスクライブしようとしましたが、発生しません。
コード ビハインドで Checked と Unchecked をいつでも処理できましたが、ビューモデルですべてを処理したくありませんでした。
バインディングを適切に機能させる方法についてのご意見をお待ちしております。
javascript - AngularJS の繰り返しで双方向バインディングが機能しない
次のコードを使用します。
「inc」リンクが両方のタイプのレコードをインクリメントすることを期待しています。ただし、双方向バインディングは、ここでは最初のタイプのレコード (オブジェクトであり、そのプロパティを更新する) に対してのみ機能しているようです。同様の問題についていくつか言及されているのを見たことがありますが、実際のバインドされたオブジェクトの変更に問題があるという印象を受けました。これは本当にそうですか?もしそうなら、私はそれが欠けている機能だと信じています.