1

我对 XAML 和 Windows Phone 开发比较陌生。

我有一个显示文本块的 ListBox。当我将 ListBox 放在网格内时,一切正常,包括滚动。如果用户想在页面上获得更多空间来查看其他元素,我希望用户能够折叠 ListBox,因此我用 ExpanderView 包围了 ListBox。一旦我这样做了,ListBox 将不再向下滚动。如果我尝试向下滚动,就好像我在尝试向上滚动并垂直“挤压”文本。如果我尝试向上滚动,它也会垂直“挤压”文本,但这是向上滚动的预期行为。

这是我的 XAML 代码的相关部分:

<toolkit:ExpanderView Header="Chatlog" x:Name="chatlogExpander" FontSize="24" VerticalAlignment="Top" Grid.Row="2">
    <toolkit:ExpanderView.Items>
        <ListBox ItemsSource="{Binding chatlog}" ScrollViewer.VerticalScrollBarVisibility="Auto" Grid.Row="2">
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Vertical"/>
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock x:Name="ChatBlock" TextWrapping="Wrap">
                        <Run Text="{Binding player}" Foreground="{Binding color}" FontSize="24" FontWeight="Bold"/><Run Text="{Binding text}" Foreground="{Binding color}" FontSize="24"/>
                    </TextBlock>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </toolkit:ExpanderView.Items>
</toolkit:ExpanderView>

我很感激你们能给我的任何帮助!

4

1 回答 1

0

我用您的代码尝试了一个示例,在为 ListBox 指定高度后,它开始滚动正常。

于 2013-02-02T17:12:08.443 回答