【发布时间】:2020-01-22 22:52:03
【问题描述】:
我有问题。我创建了这个框架:
<Frame BackgroundColor="Black" BorderColor="DarkGray" CornerRadius="20" HeightRequest="40" Padding="10,0,10,0">
<Label Text="{Binding Name}" FontSize="20" TextColor="White" VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand"/>
<Frame.GestureRecognizers>
<TapGestureRecognizer Tapped="Category_Clicked" />
</Frame.GestureRecognizers>
</Frame>
在我背后的代码中有这个事件:
List<string> selectedCategories = new List<string>();
private void Category_Clicked(object sender, EventArgs e)
{
Frame frame = (Frame)sender;
if (frame.BackgroundColor == Color.Black)
{
frame.BackgroundColor = Color.FromHex("#2196F3");
//Add label text to list
}
else
{
frame.BackgroundColor = Color.Black;
//Remove label text from list
}
}
但我需要从框架内的标签访问文本。我该怎么做?
【问题讨论】:
-
你绑定到
Name,所以只需使用你的VM的Name属性 -
但是我有多个名字,所以有多个帧
-
您可以使用
Content属性获取Frame中的标签。很简单。如果我做错了,请纠正我(我缺少任何最佳实践规则)。
标签: c# xamarin xamarin.forms xamarin.android xamarin.ios