我有这段代码,我想以某种方式将第一个标签的文本值获取到CS代码中的轻击事件。由于点击事件在网格上,所以我想到了将文本值放入x:Name的想法。
<ViewCell >
<Grid VerticalOptions="CenterAndExpand" x:Name="{Binding [0].Name}" Tapped="atiSelectValueX" >
<local:StyledLabel Text="{Binding [0].Name}" HorizontalOptions="StartAndExpand" />
<local:StyledLabel IsVisible="{Binding [0].IsSelected}" TextColor="Gray" HorizontalOptions="End" Text="x" />
</Grid>
</ViewCell>
到目前为止我拥有的CS代码:
void atiSelectValueX(object sender, EventArgs e)
{
var cell = sender as Grid;
if (cell == null)
return;
var selected = cell. <<< I want to get the name here
我想做的是在CS代码中获取x:Name值。我希望获取发件人信息,但似乎无法输入
cell.Name
是否还有另一种方法可以在C#代码中获取类似于名称(总是与第一个标签中的文本相同)之类的参数?
答案 0 :(得分:1)
x:Name是XAML工具使用的元数据,而不是对象的实际属性。您还可以将Name绑定到未使用的属性(例如StyleID),然后访问该
<Grid VerticalOptions="CenterAndExpand" StyleId="{Binding [0].Name}" ...
然后
var selected = cell.StyleId;