←Select platform

IImageListItem Interface

Summary

Defines the properties required for an item in an ImageList control.

Syntax

C#
VB
C++
public interface IImageListItem 
  
Public Interface IImageListItem  
public interface class IImageListItem  

Remarks

The IImageListItem interface defines the minimum properties required to for an item class that can be used with the ImageList control. The following classes implement this interface and are implemented by LEADTOOLS:

You can define your own classes that implement IImageListItem and use them with the LEADTOOLS ImageList control. The ImageList control derives from the WPF/Silverlight System.Windows.Controls.ItemsControl class and implements the standard WPF binding using a ObservableCollection<IImageListItem> ItemsSource through the ImageList.ItemsSource property. Using binding, you can easily create a collection of your own image list items and add them to the control through code or markup. The example below shows you how to do that.

When using your own class that implements IImageListItem, the following items properties of the ImageList control will be used:

The following item properties will not be used:

Example

This examples shows how to create your own class that implements IImageListItem and bind a collection of these classes to an ImageList control.

C#
VB
Silverlight C#
Silverlight VB
using Leadtools.Help; 
using Leadtools.Windows.Controls; 
 
class MyImageListItem : IImageListItem 
{ 
   #region IImageListItem Members 
 
   Brush _background; 
 
   public Brush Background 
   { 
      get { return _background; } 
      set { _background = value; } 
   } 
 
   Brush _foreground; 
 
   public Brush Foreground 
   { 
      get { return _foreground; } 
      set { _foreground = value; } 
   } 
 
   double _height = 100; 
 
   public double Height 
   { 
      get { return _height; } 
      set { _height = value; } 
   } 
 
   Size _imageSize; 
 
   public Size ImageSize 
   { 
      get { return _imageSize; } 
      set { _imageSize = value; } 
   } 
 
   ImageSource _source; 
 
   public ImageSource Source 
   { 
      get { return _source; } 
      set { _source = value; } 
   } 
 
   string _text; 
 
   public string Text 
   { 
      get { return _text; } 
      set { _text = value; } 
   } 
 
   Uri _uri; 
 
   public Uri Uri 
   { 
      get { return _uri; } 
      set { _uri = value; } 
   } 
 
   double _width = 100; 
 
   public double Width 
   { 
      get { return _width; } 
      set { _width = value; } 
   } 
   #endregion 
} 
 
class MyWindow1 : Window 
{ 
   public ImageList imageList; 
   public MyWindow1(string title) 
   { 
      Title = title; 
 
      // Set the size of the window 
      Width = 400; 
      Height = 200; 
 
      // Create a new ImageList control. 
      imageList = new ImageList(); 
      imageList.Width = Double.NaN; 
      imageList.Height = Double.NaN; 
 
      imageList.Background = new RadialGradientBrush(Colors.DarkGray, Colors.LightGray); 
 
      imageList.BorderThickness = new Thickness(5, 5, 5, 5); 
 
      // Create three items 
      string imagesPath = LEAD_VARS.ImagesDir; 
      ObservableCollection<IImageListItem> items = new ObservableCollection<IImageListItem>(); 
 
      for (int i = 0; i < 3; i++) 
      { 
         // Load the image 
         int index = i + 1; 
         string imageFileName = Path.Combine(imagesPath, @"ImageProcessingDemo\Image" + index.ToString() + ".jpg"); 
 
         MyImageListItem item = new MyImageListItem(); 
         item.Source = new BitmapImage(new Uri(imageFileName)); 
         item.Text = "item" + index.ToString(); 
         item.Uri = new Uri(imageFileName); 
 
         // Add the item to the image list 
         items.Add(item); 
      } 
 
      imageList.ItemsSource = items; 
 
      // Add the ImageList to the Window. 
      Content = imageList; 
   } 
} 
 
public void ImageList_IImageListItem(string title) 
{ 
   MyWindow1 window = new MyWindow1(title); 
   window.ShowDialog(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools.Windows.Controls 
 
Private Class MyImageListItem : Implements IImageListItem 
 
 
   Private _background As Brush 
 
   Public Property Background() As Brush Implements IImageListItem.Background 
      Get 
         Return _background 
      End Get 
      Set(ByVal value As Brush) 
         _background = value 
      End Set 
   End Property 
 
   Private _foreground As Brush 
 
   Public Property Foreground() As Brush Implements IImageListItem.Foreground 
      Get 
         Return _foreground 
      End Get 
      Set(ByVal value As Brush) 
         _foreground = value 
      End Set 
   End Property 
 
   Private _height As Double = 100 
 
   Public Property Height() As Double Implements IImageListItem.Height 
      Get 
         Return _height 
      End Get 
      Set(ByVal value As Double) 
         _height = value 
      End Set 
   End Property 
 
   Private _imageSize As Size 
 
   Public Property ImageSize() As Size Implements IImageListItem.ImageSize 
      Get 
         Return _imageSize 
      End Get 
      Set(ByVal value As Size) 
         _imageSize = value 
      End Set 
   End Property 
 
   Private _source As ImageSource 
 
   Public Property Source() As ImageSource Implements IImageListItem.Source 
      Get 
         Return _source 
      End Get 
      Set(ByVal value As ImageSource) 
         _source = value 
      End Set 
   End Property 
 
   Private _text As String 
 
   Public Property Text() As String Implements IImageListItem.Text 
      Get 
         Return _text 
      End Get 
      Set(ByVal value As String) 
         _text = value 
      End Set 
   End Property 
 
   Private _uri As Uri 
 
   Public Property Uri() As Uri Implements IImageListItem.Uri 
      Get 
         Return _uri 
      End Get 
      Set(ByVal value As Uri) 
         _uri = value 
      End Set 
   End Property 
 
   Private _width As Double = 100 
 
   Public Property Width() As Double Implements IImageListItem.Width 
      Get 
         Return _width 
      End Get 
      Set(ByVal value As Double) 
         _width = value 
      End Set 
   End Property 
 
End Class 
 
Private Class MyWindow1 : Inherits Window 
   Public imageList As ImageList 
   Public Sub New(ByVal title As String) 
      title = title 
 
      ' Set the size of the window 
      Width = 400 
      Height = 200 
 
      ' Create a new ImageList control. 
      imageList = New ImageList() 
      imageList.Width = Double.NaN 
      imageList.Height = Double.NaN 
 
      imageList.Background = New RadialGradientBrush(Colors.DarkGray, Colors.LightGray) 
 
      imageList.BorderThickness = New Thickness(5, 5, 5, 5) 
 
      ' Create three items 
      Dim imagesPath As String = LEAD_VARS.ImagesDir 
      Dim items As ObservableCollection(Of IImageListItem) = New ObservableCollection(Of IImageListItem)() 
 
      For i As Integer = 0 To 2 
         ' Load the image 
         Dim index As Integer = i + 1 
         Dim imageFileName As String = Path.Combine(imagesPath, "ImageProcessingDemo\Image" & index.ToString() & ".jpg") 
 
         Dim item As MyImageListItem = New MyImageListItem() 
         item.Source = New BitmapImage(New Uri(imageFileName)) 
         item.Text = "item" & index.ToString() 
         item.Uri = New Uri(imageFileName) 
 
         ' Add the item to the image list 
         items.Add(item) 
      Next i 
 
      imageList.ItemsSource = items 
 
      ' Add the ImageList to the Window. 
      Content = imageList 
   End Sub 
End Class 
 
Public Sub ImageList_IImageListItem(ByVal title As String) 
   Dim window As MyWindow1 = New MyWindow1(title) 
   window.ShowDialog() 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
using Leadtools.Help; 
using Leadtools.Windows.Controls; 
 
class MyImageListItem : IImageListItem 
{ 
   #region IImageListItem Members 
 
   Brush _background; 
 
   public Brush Background 
   { 
      get { return _background; } 
      set { _background = value; } 
   } 
 
   Brush _foreground; 
 
   public Brush Foreground 
   { 
      get { return _foreground; } 
      set { _foreground = value; } 
   } 
 
   double _height = 100; 
 
   public double Height 
   { 
      get { return _height; } 
      set { _height = value; } 
   } 
 
   Size _imageSize; 
 
   public Size ImageSize 
   { 
      get { return _imageSize; } 
      set { _imageSize = value; } 
   } 
 
   ImageSource _source; 
 
   public ImageSource Source 
   { 
      get { return _source; } 
      set { _source = value; } 
   } 
 
   string _text; 
 
   public string Text 
   { 
      get { return _text; } 
      set { _text = value; } 
   } 
 
   Uri _uri; 
 
   public Uri Uri 
   { 
      get { return _uri; } 
      set { _uri = value; } 
   } 
 
   double _width = 100; 
 
   public double Width 
   { 
      get { return _width; } 
      set { _width = value; } 
   } 
   #endregion 
} 
 
class MyWindow1 : ChildWindow 
{ 
   public ImageList imageList; 
   public MyWindow1(string title) 
   { 
      Title = title; 
 
      // Set the size of the window 
      Width = 400; 
      Height = 200; 
 
      // Create a new ImageList control. 
      imageList = new ImageList(); 
      imageList.Width = Double.NaN; 
      imageList.Height = Double.NaN; 
 
      imageList.Background = new RadialGradientBrush(Colors.DarkGray, Colors.LightGray); 
 
      imageList.BorderThickness = new Thickness(5, 5, 5, 5); 
 
      // Create three items 
      string imagesPath = LeadtoolsExamples.Common.ImagesPath.Path; 
      ObservableCollection<IImageListItem> items = new ObservableCollection<IImageListItem>(); 
 
      for (int i = 0; i < 3; i++) 
      { 
         // Load the image 
         int index = i + 1; 
         string imageFileName = imagesPath + "Image" + index.ToString() + ".jpg"; 
 
         MyImageListItem item = new MyImageListItem(); 
         item.Source = new BitmapImage(new Uri(imageFileName)); 
         item.Text = "item" + index.ToString(); 
         item.Uri = new Uri(imageFileName); 
 
         // Add the item to the image list 
         items.Add(item); 
      } 
 
      imageList.ItemsSource = items; 
 
      // Add the ImageList to the Window. 
      Content = imageList; 
   } 
} 
 
public void ImageList_IImageListItem(string title) 
{ 
   MyWindow1 window = new MyWindow1(title); 
   window.Show(); 
} 
Imports Leadtools 
Imports Leadtools.Windows.Controls 
 
 
Private Class MyImageListItem : Implements IImageListItem 
   ''' IImageListItem Members 
 
   Private _background As Brush 
 
   Public Property Background() As Brush Implements IImageListItem.Background 
      Get 
         Return _background 
      End Get 
      Set(ByVal value As Brush) 
         _background = value 
      End Set 
   End Property 
 
   Private _foreground As Brush 
 
   Public Property Foreground() As Brush Implements IImageListItem.Foreground 
      Get 
         Return _foreground 
      End Get 
      Set(ByVal value As Brush) 
         _foreground = value 
      End Set 
   End Property 
 
   Private _height As Double = 100 
 
   Public Property Height() As Double Implements IImageListItem.Height 
      Get 
         Return _height 
      End Get 
      Set(ByVal value As Double) 
         _height = value 
      End Set 
   End Property 
 
   Private _imageSize As Size 
 
   Public Property ImageSize() As Size Implements IImageListItem.ImageSize 
      Get 
         Return _imageSize 
      End Get 
      Set(ByVal value As Size) 
         _imageSize = value 
      End Set 
   End Property 
 
   Private _source As ImageSource 
 
   Public Property Source() As ImageSource Implements IImageListItem.Source 
      Get 
         Return _source 
      End Get 
      Set(ByVal value As ImageSource) 
         _source = value 
      End Set 
   End Property 
 
   Private _text As String 
 
   Public Property Text() As String Implements IImageListItem.Text 
      Get 
         Return _text 
      End Get 
      Set(ByVal value As String) 
         _text = value 
      End Set 
   End Property 
 
   Private _uri As Uri 
 
   Public Property Uri() As Uri Implements IImageListItem.Uri 
      Get 
         Return _uri 
      End Get 
      Set(ByVal value As Uri) 
         _uri = value 
      End Set 
   End Property 
 
   Private _width As Double = 100 
 
   Public Property Width() As Double Implements IImageListItem.Width 
      Get 
         Return _width 
      End Get 
      Set(ByVal value As Double) 
         _width = value 
      End Set 
   End Property 
 
End Class 
 
Private Class MyWindow1 : Inherits ChildWindow 
   Public imageList As ImageList 
   Public Sub New(ByVal title As String) 
      title = title 
 
      ' Set the size of the window 
      Width = 400 
      Height = 200 
 
      ' Create a new ImageList control. 
      imageList = New ImageList() 
      imageList.Width = Double.NaN 
      imageList.Height = Double.NaN 
 
      imageList.Background = New RadialGradientBrush(Colors.DarkGray, Colors.LightGray) 
 
      imageList.BorderThickness = New Thickness(5, 5, 5, 5) 
 
      ' Create three items 
      Dim imagesPath As String = LeadtoolsExamples.Common.ImagesPath.Path 
      Dim items As ObservableCollection(Of IImageListItem) = New ObservableCollection(Of IImageListItem)() 
 
      For i As Integer = 0 To 2 
         ' Load the image 
         Dim index As Integer = i + 1 
         Dim imageFileName As String = imagesPath & "Image" & index.ToString() & ".jpg" 
 
         Dim item As MyImageListItem = New MyImageListItem() 
         item.Source = New BitmapImage(New Uri(imageFileName)) 
         item.Text = "item" & index.ToString() 
         item.Uri = New Uri(imageFileName) 
 
         ' Add the item to the image list 
         items.Add(item) 
      Next i 
 
      imageList.ItemsSource = items 
 
      ' Add the ImageList to the Window. 
      Content = imageList 
   End Sub 
End Class 
 
Public Sub ImageList_IImageListItem(ByVal title As String) 
   Dim window As MyWindow1 = New MyWindow1(title) 
   window.Show() 
End Sub 

Requirements

Target Platforms

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Windows.Controls Assembly