关于ContentDialog中的c#:UWP ListView无法滚动

UWP ListView in ContentDialog not scrolling

C#UWP Windows 10

这是我的内容对话框的XAML代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 <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不会滚动。如何解决?


尝试设置某些"非自动"的列和行大小(像素或星形,没关系)。我确实无法在文档中找出此行为的任何原因,但对我而言却有所帮助。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<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>

尝试....