WPF C# 如何在动态添加的grid控件中添加某个网格的单击事件?

WPF C# 如何在动态添加的grid控件中添加某个网格的单击事件?,第1张

你在网格中放图片用的是什么控件?Image吗,那为何不直接用Image控件的点击事件,你可以去掉Image的水平和垂直对齐属性让Image充满整个单元格,然后添加Image控件的MouseDown/Up事件(Image好像没有Click事件),这样点击哪个Image,你就更换这个Image的Source不就行了

如果要定位具体是哪个单元格,那可以

void ImageMouseDown(object sender, MouseButtonEventArgs e)

{

if (sender is Image)

{

Image image = sender as Image

// 以下是Image控件所处Grid的行和列

int RowIndex = Grid.GetRow(image)

int ColumnIndex = Grid.GetColumn(image)

// 也可以在这里更换图片

image.Source = ....

}

}

自己加啊,类似于这样:

this.image1.MouseLeftDown += new System.EventHandler(this.iamge1_MouseLeftButtonDown)

然后再把你的MouseLeftDown事件定义出来:

private void iamge1_MouseLeftButtonDown(object sender, EventArgs e) 

        {

            //...

        }

有什么特别的用途吗?可以按如下步骤处理:

1、在项目中添加一个用户控件(WPF),添加Grid或是任何你想要使用的WPF控件;

2、在WinForm窗体上添加一个ElementHost,然后设置它的Child属性为上一步添加的用户控件就可以了。

希望对你有帮助,还有疑问请追问或是Hi


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11561522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存