1

请参阅以下非常基本的 XAML。我在模拟器中以触摸模式运行它。我可以向右或向左拖动项目,但不能向下拖动。使用鼠标模式时效果很好。经过一番谷歌搜索后,我看到了这个帖子(http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/8bb5e423-4517-448b-89ce-179a978e9e2d/),但它并没有帮助我。

<Page
    x:Class="App3.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <ListView Background="AliceBlue" 
            AllowDrop="True" CanDragItems="True" SelectionMode="None"  CanReorderItems="False"
                     IsItemClickEnabled="False" IsSwipeEnabled="True"
                      ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                      ScrollViewer.VerticalScrollBarVisibility="Disabled"
                        Margin="10">
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <VirtualizingStackPanel Orientation="Horizontal" />
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
            <ListView.ItemTemplate>
                <DataTemplate>
                    <Border Background="Blue" Width="100" Height="100"/>
                </DataTemplate>
            </ListView.ItemTemplate>
            <x:String>s1</x:String>
            <x:String>s2</x:String>
            <x:String>s3</x:String>
        </ListView>
    </Grid>
</Page>

这是非常基本的东西,奇怪的是它对我不起作用。有人知道任何解决方案或解决方法吗?

谢谢

梅尔

4

1 回答 1

0

我可能错了,但是使用触摸的 AFAIK 只能撕下垂直于滚动方向的项目。您链接到的论坛帖子中也提到了相同的内容。如果你设置IsSwipeEnable=False你也禁用此行为。

如果您希望ListView水平滚动,因为您已经更改了 的方向ItemsPanelTemplate,您需要将以下内容添加到您的ListView

ScrollViewer.HorizontalScrollMode="Enabled"
ScrollViewer.VerticalScrollMode="Disabled"

现在,tear off 将垂直工作而不是水平工作,考虑到您当前的布局,这应该更直观。

于 2013-03-05T06:18:04.650 回答