1

ドラッグ アンド ドロップの動作をサポートするために、DragDropListBoxTargetからのコントロールを使用しています。Silverlight Toolkitしかし、私はこのコントロールの問題に直面しています。

アイテムがドロップされたターゲット要素を把握するのは困難です。ItemDroppedOnTarget イベントの引数に必要なものがあります。

アイテムをドラッグすると、ユーザーがアイテムをドロップしたときに、中間イベントがターゲット アイテムを変更する必要があります。しかし、私はそれを実装する方法を見つけることができません。

私は正しいコントロールを使用していますか、それとも別の方法がありますか?

4

1 に答える 1

1

私も同じ問題を抱えていました。私はこのドラッグドロップツールを使用することになりました。Silverlight5のソースを再コンパイルしました。ターゲットを知ることができます。私も怠け者で、ツールキットのDragDropTargetコントロールを使用するときに、ドラッグしているものすべてのゴーストドラッグ写真が必要だったので、ソースをその中にラップし、新しいドラッグドロップツールにもラップしました。

ドラッグを定義した方法:

<toolkit:ListBoxDragDropTarget AllowedSourceEffects="Copy">
    <ListBox ItemsSource="{Binding Path=UnitOfWork.Templates}" Width="130" Height="360" BorderThickness="0">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <dd:DragSource>
                        <TextBlock Text="{Binding Path=Name}" Width="120"/>
                    </dd:DragSource>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</toolkit:ListBoxDragDropTarget>

<dd:DropTarget Grid.Row="2" AllowDrop="True" OnDropped="Target_OnDropped">
    <Border BorderBrush="Black" BorderThickness="1" Width="98" Height="30">                
        <TextBlock Text="Drop Here" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Border>
</dd:DropTarget>

このようにして、ListBoxDragDropTargetが作成するドラッグゴーストを維持しながら、dd:DragSourceおよびdd:DropTargetコントロールを使用して、よりきめ細かいドラッグドロップを可能にします。

于 2012-11-11T09:59:09.597 に答える