要するに、これは私がfiremonkeyアプリケーションとしてこれを行った方法です.vclでも同じように動作するはずです:
新しい firemonkey HD アプリケーションを作成する
2 つのリストボックスを追加 編集とボタン (データを入力するため) を追加
Listbox1 -> Livebindings -> New Livebinding -> TBindExpression
BindingsList1 という名前の新しいコンポーネントがフォームに自動的に追加されます。
新しい bindexpression プロパティを編集します (私の場合は BindExpressionListBox11)。
Direction = DirBiDirectional
Managed = true
NotifyOutputs = true
ControlExpression = Items
SourceExpression = Items
buttonclick イベントを作成します (または、onChanged に入れることもできますが、項目を追加するときに何らかの理由で呼び出されません。リストで何かを選択すると呼び出されます):
procedure TForm1.Button1Click(Sender: TObject);
begin
listbox2.Items.Add(edit1.Text);
bindingslist1.Notify(listbox2, '');
end;
listbox2 に項目を追加すると、変更は listbox1 にも反映されます (dirBiDirectional 設定により)。代わりに listbox1 に追加する場合は、次を呼び出す必要があります。
bindingslist1.Notify(listbox1, '');
これが開始に役立つことを願っています。
Embarcadero には、 http: //docwiki.embarcadero.com/RADStudio/en/LiveBindings_in_RAD_Studio という優れたライブバインディング機能もあります。