views:

205

answers:

2

Hi guys and happy new year(2010).

I'm a kind of novice in WPF's ListView.
I'm gonna create the following ListView in WPF via XAML and C# :
http://xs.to/image-A835_4B3EF7EE.jpg

Could you please guide me , how I can do it ?
Thanks.

+1  A: 

Here's a basic tutorial on how to use a Listview:

http://www.switchonthecode.com/tutorials/wpf-tutorial-using-the-listview-part-1

Tony
Thanks Tony, I have already read it.But with that article we can't create a ListView like the image that I've posted it.
Mohammad
A: 

I've done it with the below XAML code :

<ListView x:Name="ListView1" Background="#FFEEF3FA" SelectionChanged="ListView1_SelectionChanged" VirtualizingStackPanel.IsVirtualizing="True" local:ListViewSorter.IsListviewSortable="True" MouseDoubleClick="ListView1_MouseDoubleClick" ItemsSource="{Binding ListViewItemsCollections}">
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridViewColumn x:Name="GridViewColumnName" Header="Name"  Width="200">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Image x:Name="Image_GridViewColumnName" Width="16" Height="16" Source="{Binding GridViewColumnName_ImageSource}" />
                            <Label Content="{Binding GridViewColumnName_LabelContent}" />
                            <Label Content="{Binding GridViewColumnName_ID}" Visibility="Hidden" />
                        </StackPanel>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn x:Name="GridViewColumnTags" Header="Tags" Width="100" DisplayMemberBinding="{Binding GridViewColumnTags}" />
            <GridViewColumn x:Name="GridViewColumnLocation" Header="Location" Width="238" DisplayMemberBinding="{Binding GridViewColumnLocation}" />
        </GridView>
    </ListView.View>

and following C# code :

public partial class MainWindow : Window
{
    ObservableCollection<ListViewItemsData> _ListViewItemsCollections = new ObservableCollection<ListViewItemsData>();
    public ObservableCollection<ListViewItemsData> ListViewItemsCollections { get { return _ListViewItemsCollections; } }
}
public class ListViewItemsData
{
    public string GridViewColumnName_ImageSource { get; set; }
    public string GridViewColumnName_LabelContent { get; set; }
    public string GridViewColumnName_ID { get; set; }
    public string GridViewColumnTags { get; set; }
    public string GridViewColumnLocation { get; set; }
}
Mohammad