WPF се свързва към списък

Имам потребителска контрола, чиито потребители искам да накарам да зададат DataContext за свързване към списък с обекти. В моя контрол обаче искам да покажа този списък в Grid, но в нетривиален ред. Колоната/редът на показване на всеки елемент ще се определя от някакъв код, който ще напиша.

Така че не мога да направя директно обвързване на данни в моя контрол, трябва да напиша код, който ще прочете DataContext и след това да извърша обработката, за да позиционирам правилно всеки елемент.

Как един относителен начинаещ в WPF би направил това? Предполагам, че частта, която не разбирам, е как ще изглежда кодът в моя потребителски контрол за четене на DataContext елементите, така че да мога да ги обработя.

РЕДАКТИРАНЕ: Пояснение: Искам да подчертая, че искам да се обвържа с XAML Grid елемента, а не с някакъв друг вид мрежа или DataGrid. Мерси!


person Gabriel Magana    schedule 22.01.2010    source източник


Отговори (1)


Един от възможните начини за постигане на това е използването на конвертор. Можете да създадете конвертор, който преобразува входния списък в друг списък, където редът е променен. Тогава можете да използвате "нормално" свързване на данни, което ще използва конвертора.

person japf    schedule 22.01.2010
comment
Добре, това звучи добре, но как да свържа изхода на конвертора към мрежа, като местата за всеки елемент са определени по някакъв начин? - person Gabriel Magana; 22.01.2010
comment
Можете да промените ItemsPanelProperty на вашия ListBox на Grid. След това можете да създадете стил, който обвързва с данни свойствата Grid.Row и Grid.Column и да го зададете на ItemsContainerStyle. - person japf; 23.01.2010