2013-01-15 42 views
1

我在包含帶三個按鈕的網格的列表框中遇到問題。 我已經實現了這個網格內按鈕的交換功能。 我的問題是,當我從左到右拖動按鈕,當它重疊另一個按鈕 我的拖動按鈕顯示在拖動後面的那個。但是當我從右向左拖動一個按鈕時,這不會發生(正確的功能)。 這裏是XAML代碼我使用拖動WP7列表框中的按鈕

<Grid x:Name="ContentPanel" Grid.Row="1"> 
      <ListBox Height="Auto" Name="listbox" VerticalAlignment="Top" ItemsSource="{Binding}" Background="#00995B5B" DataContext="{Binding}" d:LayoutOverrides="Width" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch"> 
       <ListBox.ItemContainerStyle> 
        <Style TargetType="ListBoxItem"> 
         <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
        </Style> 
       </ListBox.ItemContainerStyle> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <Grid Height="300" Background="{Binding RowBackgroundBrush}"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="1*" ></ColumnDefinition> 
           <ColumnDefinition Width="1*" ></ColumnDefinition> 
           <ColumnDefinition Width="1*" ></ColumnDefinition> 
          </Grid.ColumnDefinitions> 
          <Button Tag="{Binding IndexListItem1.PageIndex}" Foreground="Black" Content="1" Grid.Column="0" HorizontalAlignment="Center" Margin="10,9,0,0" Width="133" d:LayoutOverrides="GridBox"> 
           <toolkit:GestureService.GestureListener> 
            <toolkit:GestureListener DragDelta="GestureListener_DragDelta" DragStarted="GestureListener_DragStarted" DragCompleted="GestureListener_DragCompleted" Hold="GestureListener_Hold"/> 
           </toolkit:GestureService.GestureListener> 

          </Button> 
          <Button Tag="{Binding IndexListItem2.PageIndex}" Content="2" Grid.Column="1" HorizontalAlignment="Center" Margin="10,9,0,0" Width="133" d:LayoutOverrides="GridBox"> 
           <toolkit:GestureService.GestureListener> 
            <toolkit:GestureListener DragDelta="GestureListener_DragDelta" DragStarted="GestureListener_DragStarted" DragCompleted="GestureListener_DragCompleted" Hold="GestureListener_Hold"/> 
           </toolkit:GestureService.GestureListener> 

          </Button> 
          <Button Tag="{Binding IndexListItem3.PageIndex}" Grid.Column="2" Content="3" Foreground="Red" Margin="10,9,0,0" Width="133" HorizontalAlignment="Center" d:LayoutOverrides="GridBox"> 
           <toolkit:GestureService.GestureListener> 
            <toolkit:GestureListener DragDelta="GestureListener_DragDelta" DragStarted="GestureListener_DragStarted" DragCompleted="GestureListener_DragCompleted" Hold="GestureListener_Hold"/> 
           </toolkit:GestureService.GestureListener> 

          </Button> 
         </Grid> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </Grid> 

回答

1

GestureListener_DragDelta事件添加設置canvas.ZIndexProperty100一定的價值。它會工作fine.Don't忘記完成拖動時將Zindex值設置爲0

+0

:謝謝...... :) –