2012-03-18 7 views
0

SL5リストボックスitemtemplate内にサードパーティのイメージコントロールがあります。これは素晴らしいスクロール可能な画像ギャラリーになります。Silverlightリストボックスでmousedownイベントを無効にする方法

トラブルシューティング:サードパーティの画像コントロール(LeadTools v17.5)には、mouseleftbuttownownによってドラッグ可能な拡大鏡が表示されるインタラクティブな機能があります。これは、コントロールがリストボックスでホストされていない場合に効果的です。しかし、リストボックス内のコントロールをクリックしても何もしません。いくつかの研究の後で、これは、listboxitemがmouseleftbuttondownイベントをトラップしているため、画像コントロールがそれを見ないようにマークされているためです。私のアプリケーションでは、リストボックスレベルでmouseleftbuttondownイベントを処理する必要はありません(他のボタンなどはUIを制御します)。私が正しいと仮定して、listboxitemがこのイベントにリスンするのを止める方法はありますか?

おそらく私は原因について完全に間違っています。その場合、リストボックスがマウスレフトボタンダウンイベントをコントロール内に到達させないように見える理由についての他のアイデアは高く評価されます。

おかげで、 マーク

答えて

0

代わりに、あなたはあなたが必要なUIElementDelegate参照を取得することができれば、画像コントロールの機能をトリガするために、handledEventsToo: trueUIElement.AddHandlerを使用することができるかもしれないイベントを処理するからListBoxItemを維持しようとします。

0

ご意見ありがとうございます。この場合には、迅速な解決をイメージコントロールにこのハンドラを追加することでしたが判明:このことから

private void leadGalleryImageViewer_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
    { 
     base.OnMouseLeftButtonDown(e); 
     e.Handled = true; 
    } 

私はそれが通じバブルアップとしてのMouseLeftButtonDownイベントはすべてに沿って、画像制御によって受信されたが、そうしていた収集しますlistitem以降、listitemは、画像コントロールが何をしようとしているかを効果的に処理して処理したものとしてそれをマークしました。イメージコントロールレベルで扱われたものとしてイベントをマークすることにより、listitemはそれを無視します。

関連する問題