2012-03-26 4 views
1

Link to the Image of my AppDrag & Drop Failure mit ScatterView Artikel und Grid-Layout

Ich möchte feststellen, ob die zwei Bilder auf Leinwand neary einander sind, ein als eine Operation mit den Daten vergleichen lassen, die in den Bildern eingebettet ist, wenn beide berührt werden nahe beieinander.

Der braune Bereich ist ein ScatterView, wo ich Bildelemente ablegen und sie zur grünen Listbox hinzufügen kann.

Ich kann Bildelemente direkt aus dem blauen Listenfeld in den braunen Drop-Bereich fallen lassen.

Aber wenn ich sie zuerst auf die gelbe Scatterview lasse, dann kann ich nicht raus, um sie auf die braune Scatterview fallen zu lassen.

<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> 

Antwort

0

Ich glaube, Sie sollten die DragDropScatterView verwenden, statt ScatterView in the Surface SDK mit dem Einkaufswagen Demo kommt.