我完全不熟悉Windows Phone的开发,并决定从Windows Phone 8 pivot应用程序开始。 所以我有一个带有枢轴的页面,包含两个枢轴项。在其中一个上,我想在图像下方添加一个图像控件和一个ListBox控件,我应该使用网格还是堆栈面板?有人知道怎么做吗?
答案 0 :(得分:1)
我会同时使用休伯特。通过单击Visual Studio中的xaml文件,可以使用XAML设计器。
我看待它的方式,Grid基本上是你的HTML表,但有一些差别。因此,使用它来准确对齐元素。
当每个子项可见性设置为Visibility =“Collapsed”时,堆栈面板将折叠项目。
<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>
答案 1 :(得分:1)
从头开始,非常简单。首先只需将一个数据透视添加到Grid(LayoutRoot Grid)中。
在Pivot项内,创建一个新网格,因为你要在其中放入两个控件,PivotItem只能初始化一个内容,所以创建一个MainGrid。
从代码中可以看出,将MainGrid分成两行。在第一行中,放置图像控件。
在第二行中,放置一个新网格(ListboxGrid),在第1行中设置新网格并在其中放置一个列表框。我建议你不要在这种情况下使用stackpanel,因为Grid根据列表框项扩展了它的高度,但是stackpanel没有。因此,当您使用StackPanel时,很难在ListBox项目中滚动。在这里你可以使用代码,
<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>