delphi - Firemonkey 样式设计器中另一个列表框中的列表框

标签 delphi listbox styles firemonkey delphi-xe4

我想制作一个非常复杂的界面,其中一个列表框位于另一个列表框中。首先,ListBox1 的所有元素从 Firemonkey 中的样式设计器获取样式“CustomItem”:

  Item := TListBoxItem.Create(nil);
  Item.Parent := ListBox1;
  Item.StyleLookup := 'CustomItem';

然后,还有另一个样式为“CustomItem”的ListBox(“ListBox2”)。

如何访问此 ListBox2 的“StyleLookup”属性?

Item.StylesData['ListBox2'].StyleLookup := 'CustomItem2'; //this does not work.

你知道 Firemonkey 是否支持吗?

谢谢。

最佳答案

您误解了TListBox组件的工作原理以及 StyleLookup 的工作原理涉及属性(property)。 TListBox 可以承载的唯一控件是 TListBoxItem或该控件的后代。

您引用的 CustomItem 只是样式对象的名称,它是 Delphi Firemonkey CustomListBox 示例中包含的自定义
FMX 样式的一部分。

您可以通过向 StyleLookup
属性提供样式对象的名称来将样式对象分配给特定的列表框项目。 然后,该项目将按照该样式对象的指示在视觉上表现。

您真正要寻找的是 FMX.TTreeView成分。您可以使其行为与 TListBox 完全相同,并具有能够托 pipe 项目的额外好处。 我建议您仔细查看提供的 Firemonkey 示例。

关于delphi - Firemonkey 样式设计器中另一个列表框中的列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17068900/

相关文章:

css - ASP.NET MVC3-Site.css

Delphi:使用 Google URL Shortener 和 IdHTTP - 400 错误请求

wpf - TextBlock 中的文本在 ListBox 中未正确修剪

angular - 当组件属性取决于当前日期时间时如何管理 Angular2 "expression has changed after it was checked"异常

css - 皮肤/主题 MVC 3 应用程序

WPF GridSplitter 拆分/调整两个 ListBox 的大小?

delphi - 如何避免显示错误?

android - 在android手机OS =2.3.6上安装delphi应用

multithreading - IdHTTP获取响应线程

c# - 在 Windows Phone 中滚动到达末尾时将项目添加到列表框?