Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DSharp Binding mit TListView und TImageList ? (https://www.delphipraxis.net/203008-dsharp-binding-mit-tlistview-und-timagelist.html)

jus 2. Jan 2020 23:46


DSharp Binding mit TListView und TImageList ?
 
Hallo,

da ich seit einiger Zeit ein großer Fan von der DSharp Komponente geworden bin, versuche ich die DSharp Komponente für ein aktuelles Projekt einzusetzen. Aktuell möchte ich mit TListView Vorschaubilder anzeigen lassen, die von einer TImageList kommen. Dafür setze ich die ListView Eigenschaft ViewStyle=vsIcon. Bisher definiere ich beim Füllen der TListView (stark vereinfacht) wie folgt den ImageIndex von der ListView:
Delphi-Quellcode:
procedure ListViewFuellen(Items: IObjectList);
var
  ListItem: TListItem; // in TListView definiert
  i: Integer;
begin
  for i:=0 to Items.count-1 
  begin
    ListItem := ListView1.Items.Add;
    ListItem.ImageIndex := i;
  end;
end;
So wie ich es verstanden habe, erweitert die DSharp Komponente die TListView um die Eigenschaft "View"(TCollectionView). Ich kann zwar einen Text in der ListView über ItemsSource anzeigen lassen, doch wie kann ich damit den ImageIndex setzen? :gruebel: :gruebel: :gruebel:

lg,
jus

jus 3. Jan 2020 11:40

AW: DSharp Binding mit TListView und TImageList ?
 
Ich denke, dass ich eine Lösung gefunden habe. Und zwar iteriere ich einfach händisch die TListView.Items einmal durch, nachdem ich die IObjectList mit DSharp Binding an TListView.View.ItemsSource eingehängt habe, damit die Bilder auch richtig mit der TImageList verknüpft werden:
Delphi-Quellcode:
procedure TMainForm.LoadToImageList;
var
  i: Integer;
begin
  ListView1.Items.BeginUpdate;
  for i := 0 to ListView1.Items.Count-1 do
  begin
    ListView1.Items[i].ImageIndex := i;
  end;
  ListView1.Items.EndUpdate;
end;

Stevie 3. Jan 2020 16:48

AW: DSharp Binding mit TListView und TImageList ?
 
TCollectionViewListItemsAdapter.UpdateDisplayItem anpassen und über das ItemTemplate den image index beziehen.

jus 3. Jan 2020 19:50

AW: DSharp Binding mit TListView und TImageList ?
 
Zitat:

Zitat von Stevie (Beitrag 1454384)
TCollectionViewListItemsAdapter.UpdateDisplayItem anpassen und über das ItemTemplate den image index beziehen.

ok, vielen Dank für den Tipp, ich werde es versuchen.

Lg,
jus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz