【问题标题】:XAML GridView to GridView Drag and Drop Mouse vs TouchXAML GridView 到 GridView 拖放鼠标与触摸
【发布时间】:2014-07-07 08:19:25
【问题描述】:

这是 XAML 代码,您可以在其中在不同的 GridView 之间拖放 GridView 元素,但是,这种方法仅适用于鼠标输入,部分适用于触摸输入。

只有在垂直拖动时,才能通过触摸输入从 GridView 中“解锁”元素。在水平拖动时,UI 会尝试滚动屏幕​​,而不是仅仅移动 GridView 元素。

所以鼠标可以完美地工作,而触摸只能在初始垂直拖动时工作,在初始垂直拖动之后,您可以像使用鼠标一样移动元素。这是一个 Windows 8 应用程序。

<Page.Resources>
        <DataTemplate x:Key="ItemTemplate1">
            <Border Background="#25BDC0">
                <Grid Width="230" Height="230" Margin="10">
                    <TextBlock Text="{Binding Title}" Style="{StaticResource HeaderTextStyle}"
                               HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </Grid>
            </Border>
        </DataTemplate>
    </Page.Resources>

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}" Width="Auto" Height="Auto">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <GridView Grid.Column="0" ItemTemplate="{StaticResource ItemTemplate1}"
            ItemsSource="{Binding FirstCollection}"
            AllowDrop="True" CanDragItems="True" 
            DragItemsStarting="GridViewDragItemsStarting"
            Drop="GridViewDrop" Margin="10">
        </GridView>
        <GridView Grid.Column="1" ItemTemplate="{StaticResource ItemTemplate1}"
            ItemsSource="{Binding SecondCollection}"
            AllowDrop="True" CanDragItems="True" 
            DragItemsStarting="GridViewDragItemsStarting"
            Drop="GridViewDrop" Margin="10">
        </GridView>
    </Grid>

【问题讨论】:

    标签: c# xaml windows-store-apps


    【解决方案1】:

    我偶然发现了同样的问题并在这里找到了答案:

    http://social.msdn.microsoft.com/Forums/windowsapps/en-US/7fcf8bb8-16e5-4be8-afd3-a21e565657d8/drag-and-drop-gridview-items-and-disabled-scrollbar

    使用 GridView 似乎无法水平启动拖动,而必须垂直启动,而 ListView 正好相反。

    因此,如果您想水平拖放项目,您必须使用 ListView。 (如 MS 指南中的建议 http://msdn.microsoft.com/en-us/library/windows/apps/hh465299.aspx

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多