加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF – Canvas_MouseLeftButtonDown事件

发布时间:2020-12-16 01:39:39 所属栏目:百科 来源:网络整理
导读:问候 我昨天开始使用WPF进行开发并遇到了一些问题.我发现Canvas相当于WinForms中的Panel.但是我遇到了“点击”事件的一些困难. MouseLeftButtonDown事件.如果它是否相关,则此Image和Canvasses位于UserControl中 上面的图片基本上就是我遇到的困难.您看到的3
问候

我昨天开始使用WPF进行开发并遇到了一些问题.我发现Canvas相当于WinForms中的Panel.但是我遇到了“点击”事件的一些困难. MouseLeftButtonDown事件.如果它是否相关,则此Image和Canvasses位于UserControl中

上面的图片基本上就是我遇到的困难.您看到的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,88,107" MouseLeftButtonDown="canvasProtoss_MouseLeftButtonDown" />
    <Image Name="imageRaces" Height="27" Width="73" Stretch="Fill" Source="pack://application:,/Images/Races/Races.png" />
</Grid>

当我运行应用程序(用户控件在主窗口中)时,我点击画布应该没有任何反应.我正试图解雇的事件:

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的新手,所以如果你认为有一种比我目前更好的方法,请说出来!

提前致谢.

解决方法

实际问题是画布是透明的.因此,所有事件都不会在画布处停止,但会为其父元素生成它们.

例如,如果为画布设置Background = White或Red,则应该获得MouseLeftButtonDown.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读