单击列标题时对GridView进行排序

时间:2012-08-13 02:58:51

标签: wpf sorting gridview

这是我的wpf文件,我希望在单击列标题时对GridView进行排序  我试着这个make <GridView AllowsColumnReorder="true">但不能正常工作

抱歉我的英文不好

            <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>

1 个答案:

答案 0 :(得分:1)

我认为ListView默认不支持排序。你需要创建附加的依赖属性来处理排序。

参考 - Automatically sort a GridView when a column header is clicked