1

Librarystackのドロップイベントで問題が発生しました。ライブラリスタックでのドロップの動作を変更する必要がありますが、xamlでドロップイベントをバインドすると、イベントが発生しません。

<s:LibraryStack AllowDrop="True" Drop="infoStack_Drop_1" PreviewDrop="infoStack_Drop_1" x:Name="infoStack" Canvas.Left="1" Canvas.Top="140" Height="280.5" Width="329"  Background="Transparent">

別の質問:無効になっているSurfaceTextBoxのスタイルを変更できますか?

4

1 に答える 1

1

私はこれがあなたの問題を解決するはずだと信じています:

http://msdn.microsoft.com/en-us/library/ff727842.aspx

"デフォルトのドラッグアンドドロップ動作の変更デフォルトでは、アイテムがLibraryBarコントロールからドラッグされて別のコントロールにドロップされると、そのアイテムは非アクティブ(薄暗い)状態でLibraryBarコントロールに残ります。この動作を変更するには、ターゲットコントロールへのPreviewDropEventイベントハンドラー。」

C#

#region AddPreviewDropHandler
//Add the preview drop event to the stack
SurfaceDragDrop.AddPreviewDropHandler(MainLibraryStack, OnPreviewDrop);
#endregion

「ドラッグされたアイテムがLibraryStackコントロールにドロップされると、アタッチされたイベントが発生します。イベントハンドラーで、DragSourceプロパティがソースのLibraryBarコントロールに属しているかどうかを確認します。属している場合は、EffectsプロパティをDragDropEffectsに変更してアイテムを作成します。ソースのLibraryBarコントロールから削除されます。」

C#

#region OnPreviewDrop
//Add what stack effects you want here
private void OnPreviewDrop(object sender, SurfaceDragDropEventArgs e)
{
    if (MainLibraryBar.IsAncestorOf(e.Cursor.DragSource))
    {
        e.Effects = DragDropEffects.Move;
    }
}
#endregion
于 2013-02-06T14:38:08.073 に答える