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 = ....

}

}

Grid container = new Grid()

Button btn = new Button()

container.Children.Add(btn)

btn.VerticalAlignment = VerticalAlignment.Bottom

btn.HorzontalAlignment = HorzontalAlignment.Right

是这个意思不?

由于grid控件动态创建列只能在page_init事件里,不能直接用ajax方式,所以页面不刷新的话效果是出不来的。

(为什么一定要在page_init创建列,具体请看官网: http://pro.fineui.com/#/grid/grid_dynamic_columns.aspx )

如果想实现button点击事件,动态创建grid列的效果(也就是ajax效果),可以使用iframe的方式(如果是老司机就知道iframe可以实现类似的ajax效果折中方案)。

在fineuiPro 里有哪些控件能支持iframe?panel ,tab等容器控件,具体可以查询控件的api。总的来说,就是利用button点击事件刷新iframe的url,iframe子页刷新显示grid控件。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存