Quantcast
Channel: Windows Presentation Foundation (WPF) forum
Viewing all articles
Browse latest Browse all 18858

Listview paging

$
0
0

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.

<Control.Resources><local:WidthFourConverter x:Key="widthFourConverter" /><local:HeightConverter x:Key="heightConverter" /><DataTemplate x:Key="Type">           <StackPanel Orientation="Horizontal" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0,0,0,0"><Border BorderThickness="2" BorderBrush="Black"><Image x:Name="TypeImg" Source="{Binding Type}" MouseLeftButtonDown="AdvanceSearchResultsFilter_MouseLeftButtonDown" /></Border></StackPanel>            </DataTemplate><DataTemplate x:Key="Language"><StackPanel Orientation="Horizontal" Margin="0,0,0,0"><Border BorderThickness="2" BorderBrush="Black"><Image x:Name="LanguageImg" Source="{Binding Language}" MouseLeftButtonDown="AdvanceSearchResultsFilter_MouseLeftButtonDown" /></Border></StackPanel></DataTemplate><DataTemplate x:Key="ArtistType"><StackPanel Orientation="Horizontal" Margin="0,0,0,0"><Border BorderThickness="2" BorderBrush="Black"><Image x:Name="ArtistTypeImg" Source="{Binding ArtistType}" MouseLeftButtonDown="AdvanceSearchResultsFilter_MouseLeftButtonDown" /></Border></StackPanel></DataTemplate><DataTemplate x:Key="Popularity"><StackPanel Orientation="Horizontal" Margin="0,0,0,0" ><Border BorderThickness="2" BorderBrush="Black"><Image x:Name="PopularityImg" Source="{Binding Popularity}" MouseLeftButtonDown="AdvanceSearchResultsFilter_MouseLeftButtonDown" /></Border></StackPanel></DataTemplate>               </Control.Resources><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 Header="ArtistType" Width="{Binding ElementName=ResultsLstVw, Path=ActualWidth, Converter={StaticResource widthFourConverter}}" CellTemplate="{StaticResource ArtistType}" /><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()
        {
            #region Test data            
            int itemcount = 10;
            for (int i = 0; i < itemcount; i++)
            {
                result.Add(new Result
                {
                    Id = i.ToString(CultureInfo.InvariantCulture),
                    Type = @"pack://application:,,,/Searches/Images/Pic1.png",
                    Language = "pack://application:,,,/Searches/Images/Pic2.png",                    
                    Popularity = "pack://application:,,,/Searches/Images/Pic3.png",                    
                });
            }
            #endregion          

            // 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;
            }
        }


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>