1

私はいくつかの XAML コードを持っています。私の問題は、Listview の高さが Grid 行の境界内にとどまらず、追加された ListViewItem の量に応じて大きくなることです。これにより、リストがスクロールできなくなります。

どうすればこれを防ぐことができますか?

以下は、再現された xaml コードの一部です。

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Grid Margin="30, 20, 30, 20">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <StackPanel Grid.Row="0">
            <TextBlock Text="SomeText" FontSize="40"/>
        </StackPanel>
        <StackPanel Grid.Row="1">
            <TextBlock Text="Some More Text" FontSize="30"/>
        </StackPanel>
        <Grid x:Name="ContGrid"  Grid.Row="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="400"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>

            <Viewbox HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Stretch="None" Width="AUto">
                <StackPanel x:Name="holderPanel" Margin="5" Grid.Column="0" Grid.Row="0" Orientation="Vertical">
                    <TextBlock Text="SomeCategories" FontSize="20"/>
                    <ListView CanDragItems="True" CanReorderItems="True" AllowDrop="True" Width="380">

                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Green">Test</ListViewItem>
                        <ListViewItem Background="Purple">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Green">Test</ListViewItem>
                        <ListViewItem Background="Purple">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Green">Test</ListViewItem>
                        <ListViewItem Background="Purple">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                        <ListViewItem Background="Green">Test</ListViewItem>
                        <ListViewItem Background="Purple">Test</ListViewItem>
                        <ListViewItem Background="Blue">Test</ListViewItem>
                        <ListViewItem Background="Red">Test</ListViewItem>
                    </ListView>
                </StackPanel>
            </Viewbox>

        </Grid>
    </Grid>
</Grid>
4

1 に答える 1

1

追加された ListViewItems の量に応じて ListView の高さが大きくなった理由は、ListView が StackPanel 内に配置されているためです。StackPanel では、スクロール バーを有効にすることなく、画面の境界を超えて拡大することができます。

ここに元の回答へのリンクがあります

于 2013-08-21T09:47:52.563 に答える