Uno-Platform 水平滚动控件

Uno-Platform Horizontal scroolling control

我是 Uno Platform 的新手,我创建了一个新项目来进行一些测试。

我想添加一个允许水平平移的新控件,类似于 Instagram 中的故事或 Net MAUI 中的 CollectionView。

到目前为止,我已经尝试过水平 ListView,但它只能在 UWP 中使用,无论是 Droid 项目还是 Wasm 或 Skia 项目。

我的实际XAML代码是:

<Page
    x:Class="UnoTest.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:UnoTest"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
    d:Width="500">

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

        <!--Titol-->
        <TextBlock
            Grid.Row="0"
            Text="DH Orders"
            HorizontalAlignment="Center"
            Margin="0,15,0,0"
            FontSize="30"/>
        
        <!--Imatge-->
        <Border
            Grid.Row="1"
            Margin="25, 10, 25, 0"
            CornerRadius="10"
            Width="400"
            Height="400">
            <Border.Background>
                <ImageBrush
                    Stretch="UniformToFill"
                    ImageSource="/Assets/condil.jpg"/>
            </Border.Background>
        </Border>

        <TextBlock
            Grid.Row="2"
            Text="Order states:"
            FontSize="15"
            Margin="20, 20, 20, 0"/>
        
        <!--Estats comanda-->
        <ListView
            Grid.Row="3"
            ScrollViewer.HorizontalScrollBarVisibility="Visible"
            ScrollViewer.HorizontalScrollMode="Enabled"
            ScrollViewer.IsHorizontalRailEnabled="True"
            ScrollViewer.VerticalScrollMode="Disabled"
            ScrollViewer.IsScrollInertiaEnabled="True"
            ItemsSource="{Binding Options}"
            IsItemClickEnabled="True"
            Margin="10"            
            Height="100">
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <StackPanel Orientation="Horizontal"/>
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Button
                        Content="{Binding Status}"
                        Margin="0, 10"
                        Padding="10"/>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
        
    </Grid>
    
</Page>

我应该使用 ScrollViwer + ItemsRepeater 还是为此目的有任何特定的控件?

你完全正确!这似乎是 Uno 中的一个错误:I just reproduced it in the Uno Playground

Uno 积压中的新问题 has been created。感谢举报!