Я совершенно новый для Windows Phone devlopment и решил начать с приложения для Windows 8 с возможностью поворота. Таким образом, у меня есть страница со стержнем, содержащая два элемента опоры. На одном из них я хотел бы добавить элемент управления изображением и элемент управления ListBox чуть ниже изображения, следует ли использовать сетку или стекную панель? Кто-нибудь знает, как это сделать?
Начиная с нуля, это очень просто. Сначала просто добавьте шарнир в сетку (LayoutRoot Grid).
Внутри элемента Pivot создайте новую сетку, потому что вы собираетесь поместить в нее два элемента управления, только один контент может быть инициализирован PivotItem, поэтому создайте MainGrid.
Разделите MainGrid на две строки, как вы можете видеть из кода. В первом ряду поместите свой Image Control.
Во второй строке поместите новую сетку (ListboxGrid), установите новую Grid в строке 1 и поместите в нее список. Я бы посоветовал вам не использовать stackpanel в этом случае, потому что Grid расширяет свою высоту в соответствии с элементами списка, но stackpanel этого не делает. Так что вам будет сложно прокручивать элементы ListBox при использовании StackPanel. И здесь вы идете с кодом,
<Grid x:Name="LayoutRoot" Background="Transparent">
<phone:Pivot >
<phone:PivotItem Header="item1">
<Grid x:Name="MainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image Grid.Row="0" Height="300"/>
<Grid Grid.Row="1" x:Name="ListboxGrid">
<ListBox>
<ListBoxItem >
<TextBlock Text="list1"/>
</ListBoxItem>
<ListBoxItem >
<TextBlock Text="list2"/>
</ListBoxItem>
</ListBox>
</Grid>
</Grid>
</phone:PivotItem>
</phone:Pivot>
</Grid>
Я бы использовал и Хьюберта. Воспользуйтесь использованием XAML-дизайнера, нажав на файл xaml в Visual Studio.
Как я смотрю на это, Grid - это в основном ваш HTML-стол с несколькими отличиями. Поэтому используйте это, чтобы точно выровнять элементы.
Панель стека скроет элементы, когда для каждого дочернего элемента будет установлено значение Видимость = "Свернуто".
<Grid x:Name="LayoutRoot" Background="Transparent">
<!--Pivot Control-->
<phone:Pivot Title="MY APPLICATION">
<phone:PivotItem Header="first">
<Grid>
<StackPanel>
<Image></Image>
<ListBox></ListBox>
</StackPanel>
</Grid>
</phone:PivotItem>
</phone:Pivot>
</Grid>