【发布时间】: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