2013-08-18 27 views
11

Mam dziecko UserControl składające się z wielu pól tekstowych, etykiet, obrazów itp. Muszę wypełnić tę kontrolkę użytkownika w formancie użytkownika nadrzędnego, który ma tabelę.Dynamicznie dodawaj wiersze/kolumny do siatki

Liczba elementów sterujących użytkownika podrzędnego, które należy wypełnić w elemencie nadrzędnym, jest określana w czasie wykonywania i może się zmieniać. Zasadniczo liczba zależy od wyniku wyszukiwania. Więc może wynosić od 0 do n.

Jak wypełnić kontrolkę użytkownika podrzędnego w formancie nadrzędnym? Czy jest tam lepsze alternatywy do korzystania z formantu Grid dla tego?

Uwaga: Muszę to zrobić w moim ViewModelu.

Odpowiedz

12

Aby mieć dynamiczny Grid rozmiar (kolumna/wiersz zliczania), można użyć pomocników takich jak @Rachel „s WPF Grid’s Row/Column Count Properties

W twoim przypadku, to zależy od tego, co dokładnie próbujesz osiągnąć jak w większości prostych przypadkach w zależności od kontekstu, gdy istnieje taki wymóg, jak:

Liczba elementów sterujących użytkownika podrzędnego, które muszą zostać wypełnione w formancie użytkownika nadrzędnego, jest określana w czasie wykonywania i może się zmieniać. Zasadniczo liczba zależy od wyniku wyszukiwania. Więc może wynosić od 0 do n.

Wolę iść z ItemsControl (Example). Użyj linku ItemTemplate, aby utworzyć łącze do Twojego dziecka UserControl. W razie potrzeby możesz również poprawić ustawienia ItemsPanel, aby sterować układem według własnego uznania.

+0

Doskonale, co jest DOKŁADNIE tym, co musiałem zrobić. Pakiety z podziękowaniami :) – WAQ

+0

Znam odpowiedź, ale aby pomóc innym, sprawdź http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(v=vs.90).aspx#feedback – user2330678