Я создал следующий элемент управления:
<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 и получаю тот же результат.Есть идеи, что здесь происходит?
Фоном по умолчанию для холста является прозрачный, что позволяет проходить через него тесты попадания.Чтобы ваш Canvas регистрировался на HitTests, присвойте ему цвет фона.
<Canvas Background="White" ... />