プロジェクトの構造 (疑似コード):
Backend:
Controler // controler class
List<Item> ItemsList
Item // Model/Data 'struct' kind of class
decimal Centimeters
decimal Inches
int ItemIndex // index of item in ComboBox selected for work
UI:
MainWindow
// TextBoxes
Centimeters
Inches
ComboBox ItemIndex
機能: ComboBox で ItemIndex を選択すると、List 内のそれぞれのインデックスを持つ Item 内のプロパティ (インチ、..) は、どういうわけか TextBoxes に双方向でバインドする必要があります。アイテム内のデータは、TextBoxes を使用してユーザーが変更するか、ユーザーが入力した値に基づいて残りの値を計算するコントローラーによって変更できます。
WPF でバインディングを行う簡単な方法はありますか?
私はWPFを使い始めたばかりなので、問題が漠然としていたり、非常に基本的なものであったりした場合は申し訳ありません. 巧妙な解決策があると感じていますが、ここで少し行き詰まりました。
これは、PropetyChanged イベントの恐ろしい手作りのルーティングで解決できることを知っています。Textbox から Window、Controller、そして Property に割り当てられる Item へ。そして帰りも同じ。アプリのWinformsバージョンでこのように実装しましたが、かなり混乱しているように見えます. よりエレガントなソリューションを期待しています。手伝ってくれますか?