Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Set DisplayMemberPath for ItemsControl

<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="294" Width="160">     <Window.Resources>         <WpfApplication1:Countries x:Key="countries"/>         <CollectionViewSource x:Key="cvs" Source="{Binding Source={StaticResource countries}}">             <CollectionViewSource.GroupDescriptions>                 <PropertyGroupDescription PropertyName="Continent"/>             </CollectionViewSource.GroupDescriptions>         </CollectionViewSource>         <DataTemplate x:Key="groupingHeaderTemplate">             <Label VerticalAlignment="Center" Content="{Binding}" ></Label>         </DataTemplate>     </Window.Resources>     <Grid>         <ItemsControl ItemsSource="{Binding Source={StaticResource cvs}}" DisplayMemberPath="Name">             <ItemsControl.GroupStyle>                 <GroupStyle HeaderTemplate= "{StaticResource groupingHeaderTemplate}" />             </ItemsControl.GroupStyle>         </ItemsControl>     </Grid> </Window> //File:Window.xaml.vb Imports System.Collections.ObjectModel Namespace WpfApplication1   Public Class Country     Private m_name As String     Private m_continent As Continent     Public Sub New(name As String, continent As Continent)       Me.m_name = name       Me.m_continent = continent     End Sub     Public Property Name() As String       Get         Return m_name       End Get       Set         m_name = value       End Set     End Property     Public Property Continent() As Continent       Get         Return m_continent       End Get       Set         m_continent = value       End Set     End Property   End Class   Public Enum Continent     Europe     NorthAmerica   End Enum   Public Class Countries     Inherits Collection(Of Country)     Public Sub New()       Me.Add(New Country("Great Britan", Continent.Europe))       Me.Add(New Country("USA", Continent.NorthAmerica))       Me.Add(New Country("Canada", Continent.NorthAmerica))     End Sub   End Class End Namespace