问候WPF - Canvas_MouseLeftButtonDown事件
我从昨天开始用WPF开发并遇到了一些问题。我认识到Canvas等同于WinForms中的面板。但是,我遇到了一些'点击'事件的困难。 MouseLeftButtonDown事件。如果是相关与否,这个形象与画布是在用户控件
上面的影像基本上就是我有困难。你看到的3幅图像是一幅图像。你看到的广场是不同的画布。根据点击的画布,我希望发生不同的事情。
目前,我有以下代码:
<Grid>
<Canvas Name="canvasTerran" Height="27" Width="26" Margin="88,106,134,106" MouseLeftButtonDown="canvasTerran_MouseLeftButtonDown" />
<Canvas Name="canvasZerg" Height="27" Width="26" Margin="117,107,105,107" MouseLeftButtonDown="canvasZerg_MouseLeftButtonDown" />
<Canvas Name="canvasProtoss" Height="27" Margin="145,107,88,107" MouseLeftButtonDown="canvasProtoss_MouseLeftButtonDown" />
<Image Name="imageRaces" Height="27" Width="73" Stretch="Fill" Source="pack://application:,,,/Images/Races/Races.png" />
</Grid>
当我运行应用程序(用户控件是在主窗口中ofcourse)和我点击在画布应该是什么也没有发生。我试图触发的事件:
private void canvasTerran_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
MessageBox.Show("lolterran", "lol");
// image on main window
// .Source = new BitmapImage(new Uri("pack://application:,,,/" + Constants.RACESPATH + "T.png"));
}
我真的不明白我在做什么错误,所以任何建议都会受到欢迎。正如我所说我是WPF的新手,所以如果你认为有比我现在尝试更好的方式,请说出口!
在此先感谢。
对我来说它的工作 – Erez 2010-12-04 15:25:07
你是正确的,它的工作。我所要做的只是将透视图放在Canvas上,否则单击它们将不起作用,因为它们没有填充颜色。该提示帮助我很多谢谢你! – Citroenfris 2010-12-04 15:29:26