Пейджинг формы данных WPFC#

Место общения программистов C#
Anonymous
Пейджинг формы данных WPF

Сообщение Anonymous »

Я пытаюсь создать форму данных с набором полей и кнопками прокрутки в нижней части формы.

Я бы хотел, чтобы подкачка была отдельным элементом управления с первым, предыдущим, следующим, последним с меткой «Элемент 1 из n».

Этот элемент управления разбиением на страницы будет использоваться в любой форме ввода данных, чтобы позволить пользователю переключаться между предыдущая запись. Например, «Заказы», ​​«Счета-фактуры», «Платежи» — это формы данных. Когда пользователь выбирает «Заказы», ​​отображается форма нового заказа. Он также имеет кнопки перелистывания для перехода к предыдущей записи.

Я создал пользовательский элемент управления с именем DataPager со свойством зависимости PagingItems. Я хочу, чтобы это свойство зависимостей было универсальным, чтобы я мог передавать список элементов (заказ, счет, оплата)

Для этого я сделал: Список в пользовательском элементе управления. Я попробовал связать это в форме, необходимой для страницы.

Код: Выделить всё

public List Items
{
get { return (List)GetValue(ItemsProperty); }
set { SetValue(ItemsProperty, value); }
}

// Using a DependencyProperty as the backing store for Items.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty ItemsProperty =
DependencyProperty.Register("Items", typeof(List), typeof(DataPager), new UIPropertyMetadata(null, LoadItems));

private static void LoadItems(DependencyObject obj, DependencyPropertyChangedEventArgs e)
{
DataPager thisControl = (DataPager)obj;
thisControl.RefreshItems();
}
Я получаю следующую ошибку на странице, где я использую элемент управления и привязку:

Код: Выделить всё

System.Windows.Data Error: 1 : Cannot create default converter to perform 'one-way' conversions between types 'System.Collections.Generic.List`1[PagingSample.Order]' and 'System.Collections.Generic.List`1[System.Object]'. Consider using Converter property of Binding. BindingExpression:Path=Orders; DataItem='MainViewModel' (HashCode=26754911); target element is 'DataPager' (Name='dataPager1'); target property is 'Items' (type 'List`1')

System.Windows.Data Error: 5 : Value produced by BindingExpression is not valid for target property.; Value='System.Collections.Generic.List`1[PagingSample.Order]' BindingExpression:Path=Orders; DataItem='MainViewModel' (HashCode=26754911); target element is 'DataPager' (Name='dataPager1'); target property is 'Items' (type 'List`1')
Не знаю, как мне сделать свойство элемента управления DataPager универсальным. Я еще не придумал, как указать родительскому элементу управления, чтобы отображался CurrentItem.

Но хотелось устранить первое препятствие. Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/147 ... orm-paging

Вернуться в «C#»