C# WPF:画布和形状鼠标事件不工作

C# WPF:画布和形状鼠标事件不工作,c#,wpf,events,canvas,mousedown,C#,Wpf,Events,Canvas,Mousedown,我有一个canvas对象,在代码中生成了许多省略号。我为MouseDown设置了事件处理程序。然而,它不起作用。我对此进行了深入研究,并以一个非常简单的情况结束: 我有一个以网格为根的窗口,里面有一个画布: XML: 我找到的大多数解决方案都是关于设置背景色而不是空值的。但我的代码不起作用,事件永远不会触发 有人能告诉我为什么它不工作吗 谢谢。因为文本块已在画布上结束。 如果不设置TextBlock的大小,它将被拉伸 如果单击“最边缘”,则消息框将调用。 您可以通过设置文本块的背景来确认文本块的

我有一个canvas对象,在代码中生成了许多省略号。我为MouseDown设置了事件处理程序。然而,它不起作用。我对此进行了深入研究,并以一个非常简单的情况结束: 我有一个以网格为根的窗口,里面有一个画布:

XML:

我找到的大多数解决方案都是关于设置背景色而不是空值的。但我的代码不起作用,事件永远不会触发

有人能告诉我为什么它不工作吗


谢谢。

因为文本块已在画布上结束。 如果不设置TextBlock的大小,它将被拉伸

如果单击“最边缘”,则消息框将调用。 您可以通过设置文本块的背景来确认文本块的大小

或者,应该将名为IshitteVisible的属性设置为False。 像


画布的大小是多少?你真的专注于画布吗?天哪,这解决了我的问题。不知道是否有更优雅的方式,也不知道为什么活动没有浮出水面。。。。我有省略号,这是造成麻烦的原因
<Window x:Class="SQLparserTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="900" Width="1280" >
<Grid>
    <Canvas x:Name="canvas" MouseDown="canvasMouseDown" Background="Red">
    </Canvas>
    <TextBlock x:Name="tooltip" Margin="10">0</TextBlock>
    <Button x:Name="b" Width="10" Height="10" HorizontalAlignment="Left" VerticalAlignment="Top" Click="buttonClick"/>        
</Grid>
</Window>
 private void canvasMouseDown(object sender, MouseButtonEventArgs e)
        {
            MessageBox.Show("MouseDown");
        }
<TextBlock x:Name="tooltip" Margin="10" IsHitTestVisible="False">0</TextBlock>