【问题标题】:Custom ListBox with LiveBindings带有 LiveBindings 的自定义列表框
【发布时间】:2014-02-28 17:05:31
【问题描述】:

我正在尝试制作一个包含更多详细信息和 LiveBindings 链接的自定义 ListBox。 在 bindlist 中,我只看到标准字段:Text、Detail、Bitmap....

尝试在以下代码中绑定时:

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

引发异常:

项目 xxxxxx 引发异常类 EEvaluatorError,并带有消息“找不到子标题”。

如何将字幕名称添加到我的自定义列表框?

【问题讨论】:

  • 您的自定义 ListBox 是对象还是类?我希望您需要创建一个 TMyListBox 自定义组件,其中包含已发布的 SubTitle 属性并注册。

标签: delphi listbox firemonkey livebindings


【解决方案1】:

你的说法:Item.ControlMemberName := 'SubTitle'; 不起作用,因为 ListBox/TList<ListViewItem> 中没有实际的 ControlMember / object / "field" (实际上,说有更正确Items TList 实际上)中的每个ListBoxItem 对象中都没有称为“SubTitle”。

相反您必须使用 内置 text 对象(ControlMembers),其中只有2个:

  1. Item.Text
  2. Item.Detail

如果您出于某种原因必须拥有一个“SubTitleControlMember,那么您需要创建一个自定义 ListBoxListBoxItemAppearance 对象并注册它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    相关资源
    最近更新 更多