2016-11-02 3 views
1

Windows 10の場合、デスクトップのドラッグ/ドロップでListViewItemは1秒間保持する必要はありませんが、電話機では保持します。どのようにこの1秒の保持要件を削除するにはどのようなアイデア?Windows Phone 10のドラッグ・アンド・ドロップ・リスト・ビュー項目で1秒間のホールドディレイを削除するには?

+0

背後

XAMLコード

<TextBlock x:Name="txttestdrag" CanDrag="True" Text="drag test" DragStarting="txttestdrag_DragStarting" ManipulationMode="All" ManipulationStarted="txttestdrag_ManipulationStarted"></TextBlock> 

コードは、私は携帯電話で実際にではなく、デスクトップ上で同じ動作を持っていました。最近、モバイルでも同じような動きが見られました。私はまだ10586をターゲットにしています。マウスでドラッグすることは、保持する必要はありません。 –

答えて

0

デスクトップのドラッグ&ドロップでは、ListViewItemは1秒間保持する必要はありませんが、電話機では保持します。

電話では、マウスをクリックせずにドラッグするためのタッチジェスチャーを使用しています。押し続けると、携帯電話のドラッグがトリガされます。詳細はOpen a context menu on an item you can drag with touchを参照してください。

この1秒の保持要件を削除する方法はありますか。

ドラッグアンドドロップAPIを使用して保持要件を削除することはできません。タッチ操作の場合、要件を実装するためにManipulationの相対イベントを使用できます。たとえば、ある場所から別の場所へドラッグする場合は、UIElement.ManipulationDeltaイベントを使用して、要素をCompositeTransformのようなクラスに変換することができます。 Basic Input official sampleのシナリオ5には、参照できるように実装するためにManipulationを使用する同様の機能があります。

次の簡単なコードを使用して、一連のManipulationイベントを保持してトリガーできるかどうかをテストできます。

private void txttestdrag_DragStarting(UIElement sender, DragStartingEventArgs args) 
{ 

} 
private void txttestdrag_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e) 
{ 

} 
+0

こんにちはSunteen、もう一度私の質問にお答えいただき、ありがとうございます。私はこの例でいくつかの練習をしてみましょう、私が確認するとすぐに答えとしてマークするために戻ってきます。 – hushyon

+0

シナリオ5はクールです! –

+0

予想通り、操作フレームワークを使用すると、単純にドラッグアンドドロップイベントを処理するよりもはるかに困難です... –

関連する問題