带有LiveBindings的自定义ListBox

时间:2014-02-28 17:05:31

标签: delphi listbox firemonkey livebindings

我正在尝试创建一个自定义ListBox,其中包含更多详细信息以及与LiveBindings的链接。 在bindlist中我只看到标准字段:Text,Detail,Bitmap ....

尝试使用以下代码进行绑定时:

  Item := bliMS.FillExpressions.AddExpression;
  Item.ControlMemberName := 'SubTitle';
  Item.SourceMemberName := 'PAY_NAME';

引发异常:

  

Project xxxxxx引发了异常类EEvaluatorError,并显示消息“找不到SubTitle”。

如何将SubTitle名称添加到我的自定义ListBox?

1 个答案:

答案 0 :(得分:0)

您的陈述:Item.ControlMemberName := 'SubTitle';无效,因为ListBox / TList<ListViewItem>中没有实际的 ControlMember / object /“字段”(实际上,它更正确说实际上ListBoxItem TList 中的Items个对象中没有一个名为'SubTitle'。

相反 您必须使用内置 文本对象( ControlMembers < / strong>),其中只有2:

  1. Item.Text
  2. Item.Detail
  3. 如果您出于某种原因必须拥有“SubTitle ControlMember ,那么您需要创建自定义ListBox ListBoxItemAppearance 对象并注册它。