2013-10-30 33 views
0

好吧,這讓我感到非常痛苦!我一整天都在處理這個問題。我正在使用基於XAML的Windows 8.1應用程序,本質上我正嘗試在GridView中的組之間實現一些拖放功能。到目前爲止,所有事情一直在起作用,除非我試圖將一個項目「放」到一個新組中。經過很長時間後,我已縮小到沒有爲GroupStyle.Panel VariableSizedWrapGrid觸發的「drop」事件。我正在嘗試沿着this網頁的方向行事。GroupStyle事件中的VariableSizedWrapGrid未觸發

我爲了我的生活找不出爲什麼它不會着火。我已經嘗試過在我的gridview中測試其他drop事件,並且他們似乎都按預期工作。

下面是我公司目前已到位代碼:

<GridView 
     x:Name="itemGridView" 
     AutomationProperties.AutomationId="ItemGridView" 
     AutomationProperties.Name="Grouped Items" 
     Grid.RowSpan="2" 
     Padding="116,137,40,46" 
     ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}, Mode=TwoWay}" 
     SelectionMode="None" 
     CanDragItems="True" 
     DragItemsStarting="itemGridView_DragItemsStarting" 
     IsSwipeEnabled="true" 
     IsItemClickEnabled="True" 
     ItemClick="ItemView_ItemClick"> 
     <GridView.ItemTemplate> 
      <DataTemplate> 
       <VariableSizedWrapGrid HorizontalAlignment="Left" Width="250" Height="250"> 
        <Border Background="{ThemeResource ListViewItemPlaceholderBackgroundThemeBrush}"> 
         <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="splash"/> 
        </Border> 
        <StackPanel VerticalAlignment="Bottom" Background="{ThemeResource ListViewItemOverlayBackgroundThemeBrush}"> 
         <TextBlock Text="{Binding Path=Name }" Foreground="{ThemeResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextBlockStyle}" Height="60" Margin="15,0,15,0"/> 
        </StackPanel> 
       </VariableSizedWrapGrid> 
      </DataTemplate> 
     </GridView.ItemTemplate> 
     <GridView.ItemsPanel> 
      <ItemsPanelTemplate> 
       <ItemsWrapGrid GroupPadding="0,0,70,0"/> 
      </ItemsPanelTemplate> 
     </GridView.ItemsPanel> 
     <GridView.GroupStyle> 
      <GroupStyle HidesIfEmpty="False"> 
       <GroupStyle.HeaderTemplate> 
        <DataTemplate> 
         <VariableSizedWrapGrid Margin="0,0,0,2"> 
          <Button Foreground="{ThemeResource ApplicationHeaderForegroundThemeBrush}" 
           AutomationProperties.Name="Group Title" 
           Style="{StaticResource TextBlockButtonStyle}" 
            Click="Button_Click"> 
           <StackPanel Orientation="Horizontal"> 
            <TextBlock Text="{Binding Name}" Margin="0,-11,10,10" Style="{StaticResource SubheaderTextBlockStyle}" TextWrapping="NoWrap" /> 
            <TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-11,0,10" Style="{StaticResource SubheaderTextBlockStyle}" TextWrapping="NoWrap" /> 
           </StackPanel> 
          </Button> 
         </VariableSizedWrapGrid> 
        </DataTemplate> 
       </GroupStyle.HeaderTemplate> 
       <GroupStyle.Panel> 
        <ItemsPanelTemplate> 
         <VariableSizedWrapGrid Drop="VariableSizedWrapGrid_Drop" AllowDrop="True"/> 
        </ItemsPanelTemplate> 
       </GroupStyle.Panel> 
      </GroupStyle> 
     </GridView.GroupStyle> 
    </GridView> 

我真的希望有人在那裏可以看到我的錯誤!我相信這是簡單的,但我只需要有人指出明顯。 :)

回答

0

有同樣的問題,然後發現了這個例子: How to drag item between groups in grouped gridview

我試圖用的StackPanel作爲GridView控件的ItemsPanel,爲我工作。嘗試爲您的GridView使用StackPanel而不是ItemsWrapGrid。

<ItemsPanelTemplate> 
    <StackPanel Orientation="Horizontal" /> 
</ItemsPanelTemplate> 

還是無法理解這種行爲,有什麼想法?

+0

今晚我肯定會說這個。我很高興我不是唯一有這個問題的人! – Sonoilmedico