0
<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 应用程序的屏幕。我已经为宽度和高度使用了“自动”属性,但是当我将 Listview 条目或段落添加到足够长的 RichTextBlock 时,文本只会出现在屏幕之外。

如果我对 StackPanel 使用垂直方向,则会自动调整宽度而不是高度,这意味着如果有足够的列表视图条目,它们只会进入屏幕“下方”。

实际上有没有办法通过 XAML 来做到这一点,或者我需要通过代码来做到这一点(在这里使用 C#)。如果是这样,我如何访问我的应用程序的当前宽度/高度,因为我想让它针对不同的分辨率和方向(横向/纵向)自动调整大小。

先感谢您!

4

2 回答 2

0

如果您需要为 Windows 8 提供集线器(复杂布局的内容控件)之类的东西,您应该将 GridView 与不同的项目模板一起使用。示例:http: //blogs.msdn.com/b/synergist/archive/2012/09/25/windows-store-app-xaml-gridview-with-variable-templates.aspx

于 2013-09-19T08:22:54.790 回答
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>

尝试这个。

于 2015-02-26T07:42:14.570 回答