2015-07-20 9 views
5

Próbuję to zrobić w systemie Windows 10 i Windows Phone 8.1 (app link):Jak utworzyć niestandardowy VirtualizingPanel w systemie Windows Phone 8.1/Windows 10?

Mam niestandardowej klasy o nazwie FluidPanel która rozciąga się i zasłania panel metod MeasureOverride i ArrangeOverride. Celem jest utworzenie Google Keep appearence. Ok, działa dobrze.

Ale ponieważ używam podstawowego panelu jako elementu ItemsPanelTemplate, elementy Zamawianie nie działa. Tranzystory również nie działają i nie wirtualizują.

Chciałbym więc dowiedzieć się, jak stworzyć niestandardowy panel, który zmienia kolejność elementów i wirtualizuje tak, jak itemy GridViewWrapGrid.

Starałem się rozszerza klasę VirtualizingPanel, ale wciąż pokazuje mi ten błąd, który wygląda jak błąd:

„VirtualizingPanel” nie zawiera konstruktor, że trwa 0 argumenty

Mam nadzieję, że ktoś da wskazówki.

Odpowiedz

2

Nie można dziedziczyć po "VirtualizingPanel" w języku C#, ponieważ jest to klasa wykonawcza systemu Windows i nie ma funkcji konstruktora udostępnianej przez metadane systemu Windows (plik windows.winmd). Wirtualizacja interfejsu użytkownika to tylko koncepcja, będzie trochę skomplikowana, ale można ją zaimplementować od zera. Myślę, że seria blogów wdrażających zwirtualizowany panel w WPF będzie dobrym początkiem.

Część nr 1: http://blogs.msdn.com/b/dancre/archive/2006/02/06/526310.aspx

Część nr 2: http://blogs.msdn.com/b/dancre/archive/2006/02/13/531550.aspx

Część nr 3: http://blogs.msdn.com/b/dancre/archive/2006/02/14/532333.aspx

P.S: blog jest o WPF, ale podstawowa idea jest taka sama.

+0

Dzięki za wyjaśnienie! Ale nie powinienem był skupiać się na części wirtualizacyjnej, Reorder i Transition to prawdziwy problem, z którym się borykam. Usuwam to pytanie. Proszę zobaczyć ten: http://stackoverflow.com/questions/31623799/custom-panel-with-reorder-and-animations-transitions –

+1

@Jeffrey Wiem, że to stary wątek, ale naprawdę muszę stworzyć dostosowujący się panel wirtualizacyjny . VirtualizingTilePanel w wymienionym artykule pochodzi z VirtualizingPanel i implementuje IScrollInfo. Z której klasy powinienem korzystać w aplikacjach sklepowych UWP lub Windows, jeśli nie można rozszerzyć VirtualizingPanel? Czy muszę też utworzyć go jako Windows Runtime Class używając C++? dzięki! – SimonFisher

Powiązane problemy