【问题标题】:UWP ListView in ContentDialog not scrollingContentDialog中的UWP ListView不滚动
【发布时间】:2016-04-14 21:57:02
【问题描述】:

C# UWP Windows 10

这是我的 contentdialog 的 XAML 代码:

 <Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>

    .....

    <Grid Grid.Row="1" Grid.ColumnSpan="2">
        <ListView x:Name="MerchantList"                
            ItemTemplate="{StaticResource MerchantListViewTemplate}"
            SelectionMode="Single"
            SelectedValue="{Binding currItemId, Mode=TwoWay}"
            SelectedValuePath="Id"
            ShowsScrollingPlaceholders="True">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="Margin" Value="0"/>
                    <Setter Property="Padding" Value="0"/>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>
    </Grid>
</Grid>

我需要向用户显示一些项目的列表,但 ListView 不滚动。如何解决?

【问题讨论】:

  • 尝试使用 ListView 而不使用任何额外的配置,如 ScrollViewer。如果我没记错的话,只要数据多,ListView总是可以滚动的,之后你可以一一传递参数,看看是哪一个挡住了滚动。哦,你也可以用 stackpanel 试试。
  • 尝试给 ListView 赋予高度,看看它是否滚动
  • Archana 也不起作用。

标签: c# win-universal-app windows-10-universal uwp-xaml


【解决方案1】:

尝试设置一些“非自动”的列和行大小(像素或星号,没关系)。我真的无法在文档中找到这种行为的任何原因,但在我的情况下它有所帮助。

【讨论】:

  • 抱歉,你是怎么做到的?你能写一个例子吗?我将高度设置为 ListviewItem,但它不起作用。
  • 感谢您的提示。这真的很奇怪。将 ListView 行的 RowDefinition 高度从“auto”更改为“*”即可解决问题。
【解决方案2】:
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>



    <Grid Grid.Row="1" Grid.ColumnSpan="2">
        <ScrollViewer VerticalScrollMode="Enabled" HorizontalScrollMode="Enabled" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
        <ListView x:Name="MerchantList"                
        ItemTemplate="{StaticResource MerchantListViewTemplate}"
        SelectionMode="Single"
        SelectedValue="{Binding currItemId, Mode=TwoWay}"
        SelectedValuePath="Id"
        ShowsScrollingPlaceholders="True">
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    <Setter Property="Margin" Value="0"/>
                    <Setter Property="Padding" Value="0"/>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>
        </ScrollViewer>
    </Grid>
</Grid>

试试这个....

【讨论】:

    猜你喜欢
    • 2020-09-22
    • 2023-03-14
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多