在Wpf中为ListView构建分页用户控件

时间:2010-12-27 06:43:04

标签: wpf listview user-controls paging

我在WPF窗口中有一个ListView。此ListView绑定到强类型列表 我有10个像这样的Windows。每个都有一个Listview绑定到强类型列表 我有一个带有4个按钮的StackPanelListView下方的标签,用作ListView的寻呼机。目前,我正在为窗口处理代码中的Buttons事件。

有人可以指导我将寻呼机的这部分用作UserControl吗? 我感到困惑的部分是..如何处理代码中的List<type>

1)如何访问Codebehind for Window中的Usercontrol属性 2)我在哪里进行列表的实际过滤并将itemsource设置为listview。

<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
        <Button Name="btnFirst" Content="&lt;&lt;" Margin="2,2,15,2" Width="20"  Height="20" Tag="First"  ToolTip="First" Click="btnNav_Click"/>
        <Button Name="btnPrev" Content="&lt;" Margin="2,2,15,2" Width="20" Height="20" Tag="Prev" ToolTip="Previous" Click="btnNav_Click"/>
        <Label Name="lblPage" Margin="2,2,15,2" HorizontalAlignment="Center" VerticalAlignment="Center"/>
        <Button Name="btnNext" Content="&gt;" Margin="2,2,15,2" Width="20" Height="20" Tag="Next"  ToolTip="Next" Click="btnNav_Click"/>
        <Button Name="btnLast" Content="&gt;&gt;" Margin="2,2,0,2" Width="20" Height="20" Tag="Last"  ToolTip="Last" Click="btnNav_Click"/>
    </StackPanel>

2 个答案:

答案 0 :(得分:1)

Thnkx Guys!..但这不是我想要的! 我有我的分页符号..但我想让它通用,并创建一个usercontrol,我可以在每个wpf窗口重用。

我是怎么做到的。

 <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
        <Button Name="btnFirst" Content="&lt;&lt;" Margin="2,2,10,2" Width="20"  Height="20" Tag="First"  ToolTip="First" Click="btnNav_Click"/>
        <Button Name="btnPrev" Content="&lt;" Margin="2,2,10,2" Width="20" Height="20" Tag="Prev" ToolTip="Previous" Click="btnNav_Click"/>
        <Label HorizontalAlignment="Center" VerticalAlignment="Center" Content="Page :" Margin="2,2,0,2"/>
        <ComboBox Name="cmbxPageNo" HorizontalAlignment="Left" Margin="1,2,4,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Bottom"  VerticalAlignment="Center" Width="35" Style="{StaticResource PagerCmbx}" SelectionChanged="cmbxPageNo_SelectionChanged" Height="18" ItemsSource="{Binding}"/>
        <Label Name="lblTotPage" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="14" Content="/ 5"/>
        <Button Name="btnNext" Content="&gt;" Margin="15,2,10,2" Width="20" Height="20" Tag="Next"  ToolTip="Next" Click="btnNav_Click"/>
        <Button Name="btnLast" Content="&gt;&gt;" Margin="2,2,0,2" Width="20" Height="20" Tag="Last"  ToolTip="Last" Click="btnNav_Click"/>
    </StackPanel>

这是控件的ui,看起来像是

现在为班级..
http://pastebin.com/jGywtEgG

在Xaml窗口。其中你用带绑定的强类型列表显示列表视图。 将Usercontrol放在列表视图下方。

为listview设置itemsource = {Binding ElementName =“usercontrol的名称”,Path = CurrentView}

CurrentView是在实现了Inotifypropertychanged的类中公开的属性。 这就是它。

答案 1 :(得分:0)

这是 Beth Massi WindowsClient.net上的精彩视频教程。它包括分页以及在WPF中创建以数据为中心的应用程序有用的许多概念。

How Do I: Create a Simple Data Entry Form in WPF