如果Grid.Row是已知的,如何获取网格行的子节点

时间:2016-09-13 17:38:30

标签: xamarin.forms

我正在研究xamarin.forms应用程序,我有一个问题,我无法解决。

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

我的第一次尝试是获取按钮的父级并使用FindByName方法查找图像。但pubic void OnButtonClicked(object sender, EventArgs e) { var SenderButton = (Button)sender; var row = Grid.GetRow(SenderButton); // Here i get row = 0 but dont know how to find other controls on same row. Image upimage = SenderButton.Parent.FindByName<Image>("imageExpand"); // imageExpand is my image name in grid. upimage.Source = "upimage.png"; } 返回null,但我可以在调试时看到父网格。

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

我的结构是这样的

When I click on arrow(i.e image) it should be changed

我的网格工作正常,但只有旋转问题。

upimage

此处null为{{1}}。

非常感谢。

1 个答案:

答案 0 :(得分:1)

  

我只回复你的第一个问题

你说得对,你可以使用select()获得附加的可绑定属性Grid.Row的值。现在,过滤网格的孩子很容易。

public static int GetRow(BindableObject bindable)