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"

これで、ティアオフは水平方向ではなく垂直方向に機能します。これは、現在のレイアウトを考えると、より直感的です。

于 2013-03-05T06:18:04.650 に答える