Создание пользовательского элемента управления подкачкой для ListView в Wpf - PullRequest
1 голос
/ 27 декабря 2010

У меня есть ListView в окне WPF.Этот ListView привязан к строго типизированному списку.
У меня 10 таких окон.каждый из которых имеет вид списка, привязанный к строго типизированному списку.
У меня есть StackPanel с 4 кнопками и меткой под ListView, которая служит пейджером для ListView.В настоящее время я обрабатываю события Buttons в Коде позади окна.

Может ли кто-нибудь подсказать мне, как сделать эту часть пейджера элементом UserControl?Часть, в которой я запутался, это ... Как мне обработать List<type> в Коде позади?

1) Как мне получить доступ к свойствам Usercontrol в Codebehind for Window.
2) Гдея делаю фактическую фильтрацию для списка и устанавливаю источник данных в виде списка.

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

1 голос
/ 28 декабря 2010

Thnkx Ребята! .. Но это не то, что я искал! .. У меня есть пейджинговая реализация со мной ... но я хочу сделать его универсальным и создать пользовательский контроль, который я мог бы повторно использовать в каждом окне 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>

Это пользовательский интерфейс для элемента управления, который будет выглядеть как

теперь для класса ..
http://pastebin.com/jGywtEgG

В Xaml для окна. где вы показываете просмотр списка со строго типизированным списком. Поместите пользовательский контроль ниже списка.

Установить источник данных для listview = {Binding ElementName = "name of the usercontrol", Path = CurrentView}

CurrentView - это свойство, представленное в классе с реализованным Inotifypropertychanged. Вот и все.

0 голосов
/ 27 декабря 2010

Вот хороший видеоурок от Бет Масси на WindowsClient.net. Он включает в себя разбиение на страницы и множество концепций, полезных для создания приложения, ориентированного на данные, в WPF.

Как мне: создать форму простого ввода данных в WPF

...