Ich habe eine XAML-Datei, die es ermöglichen sollte, GridViewItems in eine GridView zu ziehen. Jetzt verwende ich eine ItemSource für die GridView-Elemente und eine DataTemplate, um sie so anzuzeigen, wie sie angezeigt werden sollen. Das funktioniert. Folgendes Problem ist aufgetreten: Seit ich DataTemplate verwendet habe, sind die GridViewItems nicht mehr ziehbar. Ich kann das DataTemplate nur ziehen. Das ist seltsam, so dass der einzige Teil, den ich zum Ziehen verwenden kann, der Bereich links und rechts von den GridViewItems ist, da dies für den Rand verwendet wird.Wie kann ich ein GridViewItem als ein ziehbares Objekt anstelle eines DataTemplate in XAML erstellen?
Warum ist das DataTemplate das 'ziehbare' Steuerelement anstelle des GridViewItem? Ich habe zahlreiche Korrekturen ausprobiert, aber keine scheint gut zu funktionieren. Ich kann natürlich ohne ein DataTemplate arbeiten, aber es ist viel sauberer, es so zu benutzen.
<GridView Name="canvas" ItemsSource="{Binding GridviewItemList}" CanReorderItems="{Binding CanvasCanReorder}" CanDragItems="{Binding CanvasCanDrag}" ReorderMode="Enabled" AllowDrop="True" VerticalAlignment="Center" Width="660" Height="110" IsSwipeEnabled="False" ScrollViewer.VerticalScrollMode="Disabled" ScrollViewer.HorizontalScrollMode="Disabled">
<GridView.ItemTemplate>
<DataTemplate x:DataType="local:MainPageItems">
<GridViewItem Name="{x:Bind GvName}" Margin="13 0 15 0">
<Border Width="100" Height="100" Background="{x:Bind BdBackground, Mode=OneWay}">
<TextBlock Height="60" Width="30" FontSize="40" Text="{x:Bind TbText, Mode=TwoWay}" Margin="{x:Bind TbMargin, Mode=TwoWay}"></TextBlock>
</Border>
</GridViewItem>
</DataTemplate>
</GridView.ItemTemplate>
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="DragItemsCompleted">
<core:InvokeCommandAction Command="{Binding CanvasDragCompleted}"></core:InvokeCommandAction>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</GridView>
Vielen Dank im Voraus!