リストボックスをDataSourceとしてList<object>
にバインドしました。私がしたいのは、リストボックスのSelectedValueプロパティ(現在の選択に対応するオブジェクト)を、編集のためにオブジェクトの特定の値を表示するいくつかのテキストボックスのDataSourceとして使用することです。 私はC#(Winforms)データソースとしてListbox.SelectedValueを使用したデータバインディング
TextBox.DataBindings.Add(new Binding("Text", ListBox, "SelectedValue.name"));
と
TextBox.DataBindings.Add(new Binding("Text", ListBox.SelectedValue, "name"));
を試してみたが、リストボックスで選択したものが(フォームがまだ示されていないため)が存在しないとして、私はバリュー」についての例外を取得することはできませんヌル"。
私のフォームのSelectionChangeCommittedハンドラ(つまり、選択が行われた後)のListBox.SelectedValueにバインドできますが、これを行う必要がある場合は、TextBoxの私はこの問題を解決するためにこれを行うことができましたが、データバインディングについてもっと学びたいと思います。
私の質問は簡単です:ListBox.SelectedValue に一度(ListBoxが選択される前)にバインドして、null値の例外を回避することができますか?私の頭の上オフ
私は質問を明確にしました。私が経験している問題はSelectedItem *にバインドする前に*値があるためですその最初の選択変更をキャッチすることができますが、アイテムが選択されるたびに発生するSelectionChangeCommitted/SelectedItemChangedイベントにバインドコードを入れないようにしたいと考えています。あなたが記述しているプロセスは、偶然にもWinFormsと同様に動作します。 – Ishamael