<StackPanel Orientation="Horizontal" Margin="10,43,0,0">
<RichTextBlock x:Name="MYRTB" HorizontalAlignment="Center" VerticalAlignment="Top" Foreground="#FFEE0000" UseLayoutRounding="True">
<Paragraph Foreground="#FFFD0000">
<Run Text="Testtest"/>
</Paragraph>
</RichTextBlock>
<ListView x:Name="MyListViewNr1">
<ListViewItem Content="ListView Entry 1"/>
<ListViewItem Content="ListView Entry 2"/>
<ListViewItem Content="ListView Entry 2888"/>
</ListView>
</StackPanel>
我试图让这个StackPanel填满我的WinRT应用程序的屏幕。我已经在使用宽度和高度的“自动”属性,但是当我向RichTextBlock添加Listview Entry或Paragraph足够长时,文本就会移出屏幕。
如果我对StackPanel使用垂直方向,则会自动调整WIDTH但不会调整高度,这意味着如果有列表视图条目,它们将只在屏幕下方。
实际上是否有办法通过XAML执行此操作,还是需要通过代码执行此操作(此处使用C#)。如果是这样,我如何访问我的应用程序的CURRENT宽度/高度,因为我想让它自动调整大小以适应不同的分辨率和方向(横向/纵向)。
提前谢谢!
答案 0 :(得分:0)
如果你需要为windows 8提供类似hub(Content control for complex layout)的东西,你应该使用带有不同项目模板的GridView。例如:http://blogs.msdn.com/b/synergist/archive/2012/09/25/windows-store-app-xaml-gridview-with-variable-templates.aspx
答案 1 :(得分:0)
使用Grid而不是StackPanel
<Grid Margin="10,43,0,0">
<RichTextBlock x:Name="MYRTB" HorizontalAlignment="Center" VerticalAlignment="Top" Foreground="#FFEE0000" UseLayoutRounding="True">
<Paragraph Foreground="#FFFD0000">
<Run Text="Testtest"/>
</Paragraph>
</RichTextBlock>
<ListView x:Name="MyListViewNr1">
<ListViewItem Content="ListView Entry 1"/>
<ListViewItem Content="ListView Entry 2"/>
<ListViewItem Content="ListView Entry 2888"/>
</ListView>
</Grid>
试试这个。