如何LiveBind具有自定义样式的Firemonkey TListbox?

时间:2014-06-01 13:17:53

标签: delphi firemonkey delphi-xe5 livebindings

在“RAD Studio \ 12.0 \ Samples \ FireMonkey \ CustomListBox”中找到EMB示例“自定义列表”

通过代码演示了如何在ListBox上自定义项目。

通过代码在TListBox上插入一个项目:

  // create custom item
  Item := TListBoxItem.Create(nil);
  Item.Parent := ListBox1;
  Item.StyleLookup := 'CustomItem';
  Item.Text := 'item ' + IntToStr(Item.Index); // set filename
  if Odd(Item.Index) then
    Item.ItemData.Bitmap := Image1.Bitmap // set thumbnail
  else
    Item.ItemData.Bitmap := Image2.Bitmap; // set thumbnail
  Item.StylesData['resolution'] := '1024x768 px'; // set size
  Item.StylesData['depth'] := '32 bit';
  Item.StylesData['visible'] := true; // set Checkbox value

我想使用LiveBinding专门做同样的事情。

我可以成功展示风格并绑定一些项目:

TListBox with Customized Items

一些LiveBindings(使用原型):

LiveBinding

这是delphi示例中的一个自定义样式:

Custom Style

我的问题:

  1. 如何访问其他3个已定义的项目以填充数据?
  2. 如何从Button和CheckBox获取事件(两者都转到同一个事件处理程序)
  3. 如何在框架中使其工作?在设计时没有可用的StyleBook组件
  4. 奖金问题:)

    是否可以让以上所有使用StyleBook专属于此类需求? (一个StyleBook,它包含所有TListBoxItems Sytles?),因此不会混淆作为表单定义的StyleBook。

0 个答案:

没有答案