ListBox binds to the people collection, and sets the DataTemplate to use for displaying each item : DataTemplate « Windows Presentation Foundation « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Development
8.Event
9.File Directory
10.Generics
11.GUI
12.Language Basics
13.LINQ
14.Network Remote
15.Security
16.Thread
17.Windows Presentation Foundation
18.Windows System
19.XML
20.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Windows Presentation Foundation » DataTemplateScreenshots 
ListBox binds to the people collection, and sets the DataTemplate to use for displaying each item
    

<Window 
    x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:WpfApplication1="clr-namespace:WpfApplication1"
    Title="WPF" Height="300" Width="300">

    <Window.Resources>
        <WpfApplication1:People x:Key="people"/>
        
        <DataTemplate x:Key="personTemplate">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="80"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>

                    <StackPanel>
                        <TextBlock
                            Style="{StaticResource lblStyle}"
                            Text="First Name" />
                        <TextBlock 
                            Style="{StaticResource dataStyle}"
                            Text="{Binding Path=FirstName}"/>
                        <TextBlock 
                            Style="{StaticResource lblStyle}"
                            Text="Age" />
                        <TextBlock 
                            Style="{StaticResource dataStyle}"
                            Text="{Binding Path=Age}" />
                    </StackPanel>

                    <Image 
                        Margin="4"
                        Grid.Column="1" 
                        Width="96"
                        Height="140"
                        Source="{Binding Path=Photo}"/>
                </Grid>
        </DataTemplate>


    </Window.Resources>

    <Grid>
        <ListBox
            ItemsSource="{Binding Source={StaticResource people}}"
            ItemTemplate="{StaticResource personTemplate}"/>


    </Grid>
</Window>
//File:Window.xaml.vb
Imports System.Collections.ObjectModel

Namespace WpfApplication1
  Public Class Employee
    Public Property FirstName() As String
      Get
        Return m_FirstName
      End Get
      Set
        m_FirstName = Value
      End Set
    End Property
    Private m_FirstName As String

    Public Property Age() As Integer
      Get
        Return m_Age
      End Get
      Set
        m_Age = Value
      End Set
    End Property
    Private m_Age As Integer
    Public Property Photo() As String
      Get
        Return m_Photo
      End Get
      Set
        m_Photo = Value
      End Set
    End Property
    Private m_Photo As String

    Public Overrides Function ToString() As String
      Return FirstName
    End Function
  End Class

  Public Class People
    Inherits Collection(Of Employee)
    Public Sub New()
      Me.Add(New Employee() With _
        .FirstName = "A", _
        .Age = 26, _
        .Photo = "a.png" _
      })
      Me.Add(New Employee() With _
        .FirstName = "C", _
        .Age = 24, _
        .Photo = "c.png" _
      })
    End Sub
  End Class
End Namespace

   
    
    
    
  
Related examples in the same category
1.Use DataTemplate in ListBoxUse DataTemplate in ListBox
2.Without specifying a DataTemplate, the ListBox displays a list of names.Without specifying a DataTemplate, the ListBox displays a list of names.
3.Enables sorting of data in ascending or descending order according to the contents of one column.Enables sorting of data in ascending or descending order according to the contents of one column.
4.Defines the contents of column headers and cells by using templates.Defines the contents of column headers and cells by using templates.
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.