Xamarin.forms 如果grid.row已知,如何获取grid row的子级

Xamarin.forms 如果grid.row已知,如何获取grid row的子级,xamarin.forms,Xamarin.forms,我正在处理xamarin.forms应用程序,我有一个无法解决的问题 1) 我有多个网格一个接一个地包含按钮、标签和图像。现在,单击按钮,我想更改图像或将其向下旋转。但不知何故,我无法做到这一点 我的第一次尝试是使用FindByName方法获取按钮的父级并查找图像。但是FindByName返回null,但在调试时我可以在父级中看到网格 我的第二次尝试是获取按钮行,并找到该行中的所有控件。因为我的图像和button在同一行 我的结构是这样的 我的网格工作正常,但只存在旋转问题 pubic voi

我正在处理xamarin.forms应用程序,我有一个无法解决的问题

1) 我有多个
网格
一个接一个地包含按钮、标签和图像。现在,单击按钮,我想更改图像或将其向下旋转。但不知何故,我无法做到这一点

我的第一次尝试是使用
FindByName
方法获取按钮的父级并查找图像。但是
FindByName
返回null,但在调试时我可以在父级中看到网格

我的第二次尝试是获取按钮行,并找到该行中的所有控件。因为我的图像和button在同一行

我的结构是这样的

我的网格工作正常,但只存在旋转问题

pubic void OnButtonClicked(对象发送者,事件参数e)
{
变量SenderButton=(按钮)发送器;
var row=Grid.GetRow(SenderButton);//这里我得到了row=0,但不知道如何在同一行上找到其他控件。
Image upimage=SenderButton.Parent.FindByName(“imageExpand”);//imageExpand是我在网格中的图像名称。
upimage.Source=“upimage.png”;
}
此处
upimage
null

多谢各位

我只是回答你的第一个问题

正确的话,可以使用
publicstaticintgetrow(bindableobjectbindable)
获取附加的bindable属性
Grid.Row
。现在很容易过滤网格的子对象

var按钮=(按钮)发送方;
var row=Grid.GetRow(按钮);
var grid=button.Parent作为网格;
//假设图像位于第1列中
var image=grid.Children.Where(c=>grid.GetRow(c)==row&&grid.GetColumn(c)==1);

你能添加
XAML
代码吗?请在每篇帖子中问一个问题谢谢你回答@Stephane。我一定会试试这个。