Использование элемента StackPanel для вывода списка на экран

Следующим шагом будет вывод полученного списка клиентов на экран Windows Phone. Для этого можно поместить имя каждого клиента в отдельный элемент TextBlock. Требуется, чтобы элементы могли размещаться на экране независимо от их количества. Для этого можно использовать элемент StackPanel:

<StackPanel HorizontalAlignment="Left" Margin="0,0,0,0" Name="customersStackPanel" VerticalAlignment="Top" />

Элементы TextBlock можно создавать в программе с помощью следующего кода:

customers = Customers.MakeTestCustomers(); foreach (Customer c in customers.CustomerList){ TextBlock customerBlock = new TextBlock(); customerBlock.Text = c.Name; customersStackPanel.Children.Add(customerBlock);}

В этом коде для каждого клиента создается элемент TextBlock, в котором в текстовое поле записывается имя клиента, после чего этот элемент добавляется customersStackPanel. Как видно из примера, визуальные объекты можно создавать как в XAML-коде, так и в коде программы на C#.

Полученная программа может выводить на экран список любого размера (рис. 16).


Рис. 16. Список клиентов

Однако, некоторые элементы не видны на экране, поскольку находятся за его пределами. Это является существенным недостатком. Решить проблему можно, добавив в программу возможность прокрутки экрана вверх и вниз, чтобы пользователь мог увидеть остальную часть списка. Такую возможность предоставляет элемент ScrollViewer, если в него поместить элемент StackPanel:

<ScrollViewer> <StackPanel HorizontalAlignment="Left" Margin="9,6,0,0" Name="customersStackPanel" VerticalAlignment="Top" /></ScrollViewer>

Теперь в приложении отображается полоса прокрутки, и пользователь может прокручивать экран вверх и вниз, чтобы просмотреть список полностью.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: