2012-03-26 62 views
1

Link to the Image of my App拖放功能衰竭的Scatterview项目和网格布局

我想检测,如果2张图片在画布上是NEARY对方的不是做一些与嵌入图片,如果两者都感动数据比较操作彼此靠近。

棕色区域是一个ScatterView,我可以放置图片元素并将它们添加到绿色列表框中。

我可以直接从蓝色列表框中拖放图片项目到棕色放置区域。

但是当我在黄色的scatterview上首先放下它们时,我无法离开那里将它们放在棕色的scatterview上。

<Grid ShowGridLines="True"> 
<Grid.RowDefinitions > 
    <RowDefinition Height="*" /> 
    <RowDefinition Height="Auto" /> 

</Grid.RowDefinitions> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition></ColumnDefinition> 
    <ColumnDefinition></ColumnDefinition> 
    <ColumnDefinition></ColumnDefinition> 
</Grid.ColumnDefinitions> 


    <s:ScatterView 
     Grid.Row="0" 
     Grid.Column="0" 
     Grid.ColumnSpan="2" 
     Grid.RowSpan="1" 
     x:Name="ScatterLayer" 
     Background="Yellow" 
     ItemContainerStyle="{StaticResource ScatterItemStyle}" 
     AllowDrop="True" 
     ItemTemplate="{StaticResource ImageAndCaptionTemplate}" 
     ItemsSource="{Binding ScatterItems}" 
     s:SurfaceDragDrop.Drop="ScatterLayer_Drop" 
     s:SurfaceDragDrop.DragEnter="ScatterLayer_DragEnter" 
     s:SurfaceDragDrop.DragCompleted="ScatterLayer_DragCompleted" > 
    </s:ScatterView> 

    <s:SurfaceListBox 
     Grid.Row="0" Grid.Column="2" 
     AllowDrop="True" 
     x:Name="ListBoxVerticalBasket" 
     VerticalAlignment="Top" 
     Background="GreenYellow" 
     ItemsSource="{Binding Path=BasketItems}" 
     ItemTemplate="{StaticResource BasketTemplate}" > 
     <s:SurfaceListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Vertical" /> 
      </ItemsPanelTemplate> 
     </s:SurfaceListBox.ItemsPanel> 
    </s:SurfaceListBox> 

    <s:SurfaceListBox 
     Grid.Row="1" 
     Grid.Column="0" 
     Grid.ColumnSpan="2" 
     x:Name="ShoppingList" 
     AllowDrop="True" 
     s:SurfaceDragDrop.DragCompleted="OnShoppingListDragCompleted" 
     s:SurfaceDragDrop.DragCanceled="OnShoppingListDragCanceled" 
     PreviewMouseLeftButtonDown="OnShoppingListPreviewMouseLeftButtonDown" 
     PreviewMouseMove="OnShoppingListPreviewMouseMove" 
     PreviewMouseLeftButtonUp="OnShoppingListPreviewMouseLeftButtonUp" 
     ItemsSource="{Binding Path=LibraryItems}" 
     ItemTemplate="{StaticResource ImageAndCaptionTemplate}" 
     PreviewTouchDown="OnShoppingListPreviewTouchDown" 
     PreviewTouchMove="OnShoppingListPreviewTouchMove" 
     PreviewTouchUp="OnShoppingListPreviewTouchUp" 
     Background="#FF00BDD8"> 
     <s:SurfaceListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
       <StackPanel Orientation="Horizontal" AllowDrop="True"/> 
      </ItemsPanelTemplate> 
     </s:SurfaceListBox.ItemsPanel> 

    </s:SurfaceListBox> 

    <s:ScatterView 
     Grid.Column="2" 
     Grid.Row="1" 
     Background="DarkGoldenrod" 
     Width="300" 
     Height="100" 
     x:Name="ScatterViewDropArea" 
     VerticalAlignment="Top" 
     HorizontalAlignment="Left" 
     AllowDrop="True" 
     s:SurfaceDragDrop.Drop="ScatterViewDropArea_Drop"> 
    </s:ScatterView> 

回答

0

我想你应该考虑使用带有在表面SDK,而不是ScatterView购物车演示的DragDropScatterView