Tarek Saied
Tarek Saied

Reputation: 6626

sort a GridView when a column header is clicked

this is my wpf file i want sort a GridView when a column header is clicked i try this make <GridView AllowsColumnReorder="true"> but not working

sorry for my bad English

            <ListView Name="deviceListBox"
                  Width="630"
                  Height="282"
                  HorizontalAlignment="Center"
                  VerticalAlignment="Center"
                  ItemsSource="{Binding Items}"
                  SelectionChanged="deviceListBox_SelectionChanged"
                  SelectionMode="Single">
            <ListView.View>
                <GridView>
                    <GridView.Columns>
                        <GridViewColumn>
                            <GridViewColumn.HeaderTemplate>
                                <DataTemplate>
                                    <Label Width="15"
                                           Height="25"
                                           Margin="10,0,0,0"
                                           HorizontalAlignment="center"
                                           VerticalAlignment="Center" />
                                </DataTemplate>
                            </GridViewColumn.HeaderTemplate>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid>
                                        <controls:PresenceIndicator Width="35"
                        Height="30"
                        Margin="7,0,0,0"
                        HorizontalAlignment="center"
                        VerticalAlignment="Center"
                        PhotoDisplayMode="Large"
                        SingleClickAction="ShowContactDetails"
                        Source="{Binding Path=SipURI}" />
                                    </Grid>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn>
                            <GridViewColumn.HeaderTemplate>
                                <DataTemplate>
                                    <Label Width="95"
                                           Height="25"
                                           Margin="10,0,0,0"
                                           HorizontalAlignment="Left"
                                           VerticalAlignment="Center"
                                           Content="Username"
                                           Foreground="Black" />
                                </DataTemplate>
                            </GridViewColumn.HeaderTemplate>
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid>
                                        <Label Height="30"
                                               Margin="7,0,0,0"
                                               HorizontalAlignment="left"
                                               VerticalAlignment="Center"
                                               Content="{Binding Path=Username}"
                                               Foreground="Black" />
                                    </Grid>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn>

Upvotes: 1

Views: 1071

Answers (1)

pchajer
pchajer

Reputation: 1584

I think ListView doest not support sorting by default. Yo need to create attached dependency property to handle the sorting.

refer - Automatically sort a GridView when a column header is clicked

Upvotes: 1

Related Questions