【问题标题】:Why I can't scroll my ListBox为什么我不能滚动我的列表框
【发布时间】:2012-04-28 21:34:39
【问题描述】:

有人知道为什么我不能用 Grid 滚动 ListBox 吗? 我发现只有添加这个属性: ScrollViewer.VerticalScrollBarVisibility="自动" 但在我的应用中这不起作用

这是我的 xaml 代码:

    <ListBox Height="776" ScrollViewer.VerticalScrollBarVisibility="Auto" MaxHeight="776"  Margin="11,12,0,0" Name="listBox1" Width="469">
        <ListBox>
            <Grid >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition />
                    <ColumnDefinition />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                <Image Grid.Column="0" Width="200" Grid.Row="0" Source="/a;component/texture.png" />
                <Image Grid.Column="0" Width="200" Grid.Row="1" Source="/a;component/texture.png" />
                <Image Grid.Column="0" Width="200" Grid.Row="2" Source="/a;component/texture.png" />
                <Image Grid.Column="0" Width="200" Grid.Row="3" Source="/a;component/texture.png" />
                <Image Grid.Column="0" Width="200" Grid.Row="4" Source="/a;component/texture.png" />
                <Image Grid.Column="0" Width="200" Grid.Row="5" Source="/a;component/texture.png" />
                <Image Grid.Column="0" Width="200" Grid.Row="6" Source="/a;component/texture.png" />
                <Image Grid.Column="1" Width="200" Grid.Row="0" Source="/a;component/texture.png" />
                </Grid>
        </ListBox>
    </ListBox>

感谢您的建议;)

【问题讨论】:

    标签: windows-phone-7


    【解决方案1】:

    您将两个listboxes 包装在一起。看来您真正想要的是ScrollViewer

    <ScrollViewer Margin="11,12,0,0" Name="listBox1" Width="469">
                <Grid >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <Image Grid.Column="0" Width="200" Grid.Row="0" Source="/a;component/texture.png" />
                    <Image Grid.Column="0" Width="200" Grid.Row="1" Source="/a;component/texture.png" />
                    <Image Grid.Column="0" Width="200" Grid.Row="2" Source="/a;component/texture.png" />
                    <Image Grid.Column="0" Width="200" Grid.Row="3" Source="/a;component/texture.png" />
                    <Image Grid.Column="0" Width="200" Grid.Row="4" Source="/a;component/texture.png" />
                    <Image Grid.Column="0" Width="200" Grid.Row="5" Source="/a;component/texture.png" />
                    <Image Grid.Column="0" Width="200" Grid.Row="6" Source="/a;component/texture.png" />
                    <Image Grid.Column="1" Width="200" Grid.Row="0" Source="/a;component/texture.png" />
                    </Grid>
            </ScrollViewer>
    

    【讨论】:

      【解决方案2】:

      列表框确实有一个内置的 ScrollViewer;但是有些人可能会选择将 ListBox 包装在 ScrollViewer 中以实现更平滑的滚动。我会在列表框中使用 ItemTemplate。这些链接应该会有所帮助:

      谢谢!

      【讨论】:

        【解决方案3】:

        也将 scrollviewer 属性添加到内部列表框。

        【讨论】:

          【解决方案4】:

          感谢大家的建议。 这不起作用,因为我将两个列表框包装在一起。谢谢威尔梅尔;)

          这应该看起来像:

              <ListBox Height="776" ScrollViewer.VerticalScrollBarVisibility="Auto" MaxHeight="776"  Margin="11,12,0,0" Name="listBox1" Width="469">
                      <Grid >
                          <Grid.ColumnDefinitions>
                              <ColumnDefinition />
                              <ColumnDefinition />
                          </Grid.ColumnDefinitions>
                          <Grid.RowDefinitions>
                              <RowDefinition Height="Auto"/>
                              <RowDefinition Height="Auto"/>
                              <RowDefinition Height="Auto"/>
                              <RowDefinition Height="Auto"/>
                              <RowDefinition Height="Auto"/>
                              <RowDefinition Height="Auto"/>
                              <RowDefinition Height="Auto"/>
                          </Grid.RowDefinitions>
                          <Image Grid.Column="0" Width="200" Grid.Row="0" Source="/a;component/texture.png" />
                          <Image Grid.Column="0" Width="200" Grid.Row="1" Source="/a;component/texture.png" />
                          <Image Grid.Column="0" Width="200" Grid.Row="2" Source="/a;component/texture.png" />
                          <Image Grid.Column="0" Width="200" Grid.Row="3" Source="/a;component/texture.png" />
                          <Image Grid.Column="0" Width="200" Grid.Row="4" Source="/a;component/texture.png" />
                          <Image Grid.Column="0" Width="200" Grid.Row="5" Source="/a;component/texture.png" />
                          <Image Grid.Column="0" Width="200" Grid.Row="6" Source="/a;component/texture.png" />
                          <Image Grid.Column="1" Width="200" Grid.Row="0" Source="/a;component/texture.png" />
                          </Grid>
              </ListBox>
          

          【讨论】:

            猜你喜欢
            • 2021-01-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-30
            • 2023-03-18
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多