私は、次のコントロールを作成しました:WPF ScrollViewerの/キャンバスマウスイベントハンドラ
<UserControl x:Class="FooBar.AnnotationControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="400" Width="500" >
<ScrollViewer Height="400" Width="500">
<Canvas Height="400" Width="500" Name="ctlCanvas" MouseLeftButtonDown="MouseLeftButtonDownHandler" >
<Canvas.RenderTransform>
<ScaleTransform x:Name="ZoomTransform" />
</Canvas.RenderTransform>
</Canvas>
</ScrollViewer>
</UserControl>
namespace FooBar
{
public partial class AnnotationControl : UserControl
{
public AnnotationControl()
{
InitializeComponent();
}
private void MouseLeftButtonDownHandler(object sender, MouseButtonEventArgs args)
{
//Do Something
}
}
}
私はキャンバスをクリックしたときに、私はMouseLeftButtonDownHandlerでブレークポイントをヒットしません。私はこのハンドラをScrollViewerにアタッチして、同じ結果を得ます。ここで何が起こっているか考えてみましょうか?
は、使用して、コンストラクタで手動でイベントハンドラを追加してみてくださいすることができ[ 'のAddHandler(...)'](http://msdn.microsoft.com/en-us/library/ms598898.aspx ) 方法。そうすれば、既に処理されたイベントを処理するように指定することができます(何かイベントを飲み込んだ場合など)。まだ運がない場合は、何かがイベントが発射されるのを妨げる可能性があります。 –