FireMonkey 的FMX.ListView.TListView
组件及其相关类在西雅图进行了广泛的重构。这记录在 Embarcadero 的 DocWiki 上:
什么是新的| 重构列表视图控件
许多以前在 TCustomListView 中的成员现在在不同的类甚至不同的单元中。进入不同类的成员通过继承继续成为 TCustomListView 的一部分。
有关更改的详细列表,请参阅西雅图列表视图控件的重构。
重构页面没有特别提到Text
andDetail
属性。然而,DocWiki 的其他页面提供了缺失的线索:
什么是新的| 其他 FireMonkey 更改
现在您必须将TListView.Selected转换为Appearances.TListViewItem才能使用它。
FMX.ListView.TListViewBase.Selected
要将Selected用作Appearances.TListViewItem的实例,您必须将其转换为:
德尔福:
SelectedItemText := TListViewItem(TListView1.Selected).Text;
C++:
SelectedItemText = ((TListViewItem*)(TListView1->Selected))->Text;
该TListView.Selected
属性仍然FMX.ListView.Types.TListItem
像以前一样返回 a 。但是,TListItem
不再有自己的Detail
属性Text
。它们已移至FMX.ListView.Appearances.TListViewItem
派生自TListItem
.
TListView
仍然FMX.ListView.TCustomListView
像以前一样派生自,但现在TCustomListView
派生自 XE8 中不存在的一组新基类:
XE8:
FMX.Controls.TStyledControl
↓<br>
↓<br>
FMX.ListView.TCustomListView
FMX.ListView.TListView
西雅图:
FMX.Controls.TStyledControl
↓<br>
↓<br>
↓<br>
↓<br>
↓<br>
↓<br>
FMX.ListView.TAdapterListView
FMX.ListView.TListViewBase
FMX.ListView.TPresentedListView
FMX.ListView.TAppearanceListView
FMX.ListView.TCustomListView
FMX.ListView.TListView
因此,所有列表项对象TListView
现在都是该类的实例,FMX.ListView.Appearances.TAppearanceListViewItem
该类派生自TListViewItem
.
因此,在访问任何从 移动TListItem
到的属性时,您必须进行相应的类型转换TListViewItem
,其中包括Detail
andText
属性等。