I am trying to follow this to do my listview paging but nothing shows up in my listview at all.
http://code.msdn.microsoft.com/windowsdesktop/CSWPFPaging-ce1ce482
Is it because the way I am binding? In debug mode, the CollectionViewSource & ObservableCollection have items in them but it doesn't show on listview.
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SizeChanged="Grid_SizeChanged"><ListView x:Name="ResultsLstVw" SizeChanged="ResultsLstVw_SizeChanged" ScrollViewer.HorizontalScrollBarVisibility="Disabled"><ListView.ItemContainerStyle><Style TargetType="ListViewItem"><Setter Property="Height" Value="{Binding ElementName=ResultsLstVw, Path=ActualHeight, Converter={StaticResource heightConverter}}" /> <Setter Property="Margin" Value="2"/></Style></ListView.ItemContainerStyle><ListView.View> <GridView><GridView.ColumnHeaderContainerStyle><Style><Setter Property="FrameworkElement.Visibility" Value="Collapsed"/></Style></GridView.ColumnHeaderContainerStyle><GridViewColumn Header="Type" Width="{Binding ElementName=ResultsLstVw, Path=ActualWidth, Converter={StaticResource widthFourConverter}}" CellTemplate="{StaticResource Type}" /><GridViewColumn Header="Language" Width="{Binding ElementName=ResultsLstVw, Path=ActualWidth, Converter={StaticResource widthFourConverter}}" CellTemplate="{StaticResource Language}" /><GridViewColumn Width="{Binding ElementName=ResultsLstVw, Path=ActualWidth, Converter={StaticResource widthFourConverter}}" CellTemplate="{StaticResource AType}" /><GridViewColumn Header="Popularity" Width="{Binding ElementName=ResultsLstVw, Path=ActualWidth, Converter={StaticResource widthFourConverter}}" CellTemplate="{StaticResource Popularity}" /> </GridView> </ListView.View> </ListView> </Grid>
public static ObservableCollection<Result> result = new ObservableCollection<Result>(); public static int currentPageIndex = 0; public static int itemPerPage = 3; public static int totalPage = 0; public static CollectionViewSource view = new CollectionViewSource(); public SearchResultsUsrCntrl() { InitializeComponent(); } private void UserControl_Loaded(object sender, RoutedEventArgs e) { Search(); } public void Search() { // Calculate the total pages totalPage = itemcount / itemPerPage; if (itemcount % itemPerPage != 0) { totalPage += 1; } view.Source = result; view.Filter += new FilterEventHandler(view_Filter); ResultsLstVw.DataContext = view; } void view_Filter(object sender, FilterEventArgs e) { int index = result.IndexOf((Result)e.Item); if (index >= itemPerPage * currentPageIndex && index < itemPerPage * (currentPageIndex + 1)) { e.Accepted = true; } else { e.Accepted = false; } }