問題タブ [data-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 に答える
20411 参照

c# - WinForms ComboBox データ バインディングの落とし穴

次のようなことをしているとします

これで、2 つのコンボ ボックスがその配列にバインドされ、すべて正常に動作しました。ただし、1 つのコンボ ボックスの値を変更すると、両方のコンボ ボックスが選択したものに変更されます。

今、私は配列が常に参照によって渡されることを知っています (私が C :D を学んだときにそれを学びました)、一体なぜコンボ ボックスが一緒に変更されるのでしょうか? コンボ ボックス コントロールがコレクションをまったく変更しているとは思えません。

回避策として、これは期待/望ましい機能を達成しないでください

0 投票する
4 に答える
4442 参照

c# - Illegal Cross Thread Operation 例外に対する解決策はありますか?

C# でデータをバインドすると、データを変更するスレッドによってコントロールも変更されます。ただし、このスレッドがコントロールが作成されたスレッドでない場合は、Illegal Cross Thread Operation 例外が発生します。

これを防ぐ方法はありますか?

0 投票する
6 に答える
3792 参照

wpf - WPFデータバインディング

WPFでコントロール(ComboBox、ListBoxなど)にDataBindingを実行する方法を示すために、誰かが私に良いリソースを教えてくれますか(または手がかりを投げてくれますか)?WinFormsの優れた機能がすべて奪われてしまったとき、私は少し戸惑いました。そもそも私はそれほど明るくはありません...

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

c# - 複合コレクションのソート

そのため、WPF は CompositeCollections のビューに対する標準の並べ替えまたはフィルター処理の動作をサポートしていないため、この問題を解決するためのベスト プラクティスは何でしょうか。

異なるタイプのオブジェクト コレクションが 2 つ以上あります。それらを単一の並べ替え可能でフィルター可能なコレクションに結合したい (並べ替えまたはフィルターを手動で実装する必要はありません)。

私が検討したアプローチの 1 つは、コレクションをソートしたいプロパティや、各タイプのオブジェクト インスタンスなど、いくつかのコア プロパティのみを持つ新しいオブジェクト コレクションを作成することです。

次に、2 つのオブジェクト コレクションをループ処理して、新しい複合コレクションを作成します。明らかに、これは少し強引な方法ですが、うまくいくでしょう。新しい複合オブジェクト コレクションでデフォルトのビューの並べ替えとフィルタリングの動作をすべて取得し、データ テンプレートを配置して、その複合アイテムに実際に格納されているタイプに応じてリスト アイテムを適切に表示できます。

これをよりエレガントな方法で行うための提案は何ですか?

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

c# - WPF の変数バインディング

リッチ TreeView (ノードの名前変更、子ノードの追加などのコンテキスト メニューがあるもの) の UserControl を作成しています。このコントロールを使用して、作成する階層データ構造を管理またはナビゲートできるようにしたいと考えています。現在、次のインターフェイスを実装するデータ構造に対して機能しています (インターフェイスを実際に実装する必要はありませんが、これらのメンバーの存在のみが必要です)。

次に、UserControl で、次のようにテンプレートを使用してツリーをデータ構造にバインドします。

私がやりたいことは、RichTreeView でこれらの各メンバーの名前を定義して、次のようにさまざまなデータ構造に適応できるようにすることです。

UserControl 内のバインドのパスをその UserControl のパブリック プロパティとして公開する方法はありますか? この問題を解決する他の方法はありますか?

0 投票する
4 に答える
8767 参照

apache-flex - Flex:痛みのないプログラムによるデータバインディングは存在しますか?

これまでにほんの少しのFlex開発を行ってきましたが、mxmlファイルよりもプログラムでコントロールを作成するアプローチを好みました。なぜなら(間違っている場合は訂正してください!)両方の方法があります。つまり、クラス機能は別のActionScriptクラスファイルにありますが、含まれている要素はmxmlで宣言されています。

生産性に関してはそれほど大きな違いはないようですが、プログラムでデータバインディングを実行することは、些細なことではないように思われます。mxmlコンパイラがデータバインディング式をどのように変換するかを調べました。その結果、大量のコールバックが生成され、mxml表現よりもはるかに多くの行が生成されます。だからここに質問があります:傷ついた世界を伴わないプログラムでデータバインディングを行う方法はありますか?

0 投票する
5 に答える
4843 参照

c# - Windows フォームのサイズを ApplicationSettings にバインドできないのはなぜですか?

更新: 解決済み、コード付き

コードについては、以下の回答を参照してください...

元の投稿

Tundeyが私の最後の質問への回答で指摘したように、Windows フォーム コントロールに関するほぼすべてを ApplicationSettings に非常に簡単にバインドできます。フォームサイズでこれを行う方法は本当にありませんか? このチュートリアルでは、ウィンドウが最大化または最小化されている場合にサイズの代わりに RestoreBounds を保存できるように、Size を明示的に処理する必要があると述べています。ただし、次のようなプロパティを使用できることを望みました。

しかし、デザイナーでこれをバインドする方法がわかりません (PropertyBinding リストにサイズが特にありません)。

0 投票する
10 に答える
5447 参照

data-binding - データバインディングは悪い考えですか?

私たちの仕事におけるもう 1 つの議論 (最近、多くの議論があります!) は、データ バインディングが悪い考えであるかどうかです。

個人的には、Bad Thing™ だと思います。

私の理由は3つあります:

  1. これは、適切に構築された MVP フレームワークを回避します。データバインディングを使用すると、ビューはモデルと双方向に通信します。Ewww。

  2. これは、設計時にビュー コントロールをデータ フィールドに接続することを促進します。私の経験では、これにより重要なコード (列 A をフィールド X にバインドする) が不明瞭になり、一部のデザイナー ファイルに隠されます。IMO では、このコードは明示的で目立たないようにする必要があります。これにより、不格好なデザイナー インターフェイスを使用しなくても、簡単に変更して何が起こっているのかを確認できます。

  3. ポイント#1に関連して、この直接バインディングにより、各コンポーネント(ビュー、モデル、コントローラー/プレゼンター)の分離と単体テストが難しくなります。

長所は、セットアップが簡単で、配管がすでに行われているいくつかの優れた機能 (検証など) を利用できることです。

しかし、私にとっては、大規模なデータ中心のアプリケーションを扱う場合、データバインディングははるかに邪魔になります。

何かご意見は?

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

c# - .NET - データバインドでの Excel ListObject の自動サイズ変更

Visual Studio Tools for Office (2008) を使用して Excel 2007 アドインを開発しています。起動時にデータテーブルにバインドされているいくつかの ListObjects を含む 1 つのシートがあります。それらがバインドされると、正しく自動サイズ調整されます。

問題は、それらが再バインドされたときに発生します。リボン バーにカスタム ボタンがあり、データベースに戻り、ユーザーが入力した条件に基づいてさまざまな情報を取得します。この新しいデータが返され、ListObjects に再バインドされますが、今回はサイズが変更されず、例外が発生します。

データに合わせてサイズを変更できないため、ListObject をバインドできません。ListObject は新しい行を追加できませんでした。これは、リスト オブジェクトの下にオブジェクトを移動できないことが原因である可能性があります。

内部例外:「Range クラスの挿入メソッドが失敗しました」
理由: Microsoft.Office.Tools.Excel.FailureReason.CouldNotResizeListObject

Google または MSDN で、このエラーについて非常に意味のあるものを見つけることができませんでした。私はしばらくこれを理解しようとしてきましたが、役に立ちませんでした。

基本的なコード構造:

この例外は、ListObject が大きくなったときだけでなく、縮小しているときにも発生することに注意してください。

0 投票する
6 に答える
138787 参照

.net - 画像の UriSource とデータ バインディング

次のように、カスタム オブジェクトのリストを WPF イメージにバインドしようとしています。

しかし、うまくいきません。これは私が得ているエラーです:

「プロパティ 'UriSource' またはプロパティ 'StreamSource' を設定する必要があります。」

私は何が欠けていますか?