c# - Xamarin Forms - 如何在列表视图(itemtapped)中获取标签的值/文本?
问题描述
是否可以获得标签的文本值?
例如,我点击了“甜点”,我想获取特定的 cat_code 值并将其传递给我稍后将使用的变量
我的代码
类别.cs
public class Catergory
{
public string cat_code { get; set; }
}
MenuCategories.xaml
<ListView x:Name="MyCategory" ItemSelected="MyCategory_ItemSelected">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label x:Name="categoryname" Text="{Binding cat_code}"
Style="{DynamicResource ListItemTextStyle}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
我应该在这里使用什么事件?itemtapped 或 selecteditem?以及如何获取 cat_code 的值或标签的文本?使用那些事件?
MenuCategories.xaml.cs
public MenuCategories()
{
InitializeComponent();
GetCategoryAsync();
}
public async Task GetCategoryAsync()
{
HttpClient client = new HttpClient();
var response = await client.GetStringAsync("http://ropenrom24-001-site1.etempurl.com/potangina/final/Restserver/index.php/category/view");
var cat = JsonConvert.DeserializeObject<List<Catergory>>(response);
MyCategory.ItemsSource = cat;
}
private void MyCategory_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
//what to code? to get value of the selecteditem
}
解决方案
保存被选中的e.SelectedItem
项目,因此代码可以简单地是:
private string selectedItem;
private void MyCategory_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
var selectedCategory = e.SelectedItem as Catergory;
if (selectedCategory != null)
selectedItem = selectedCategory.cat_code;
}
推荐阅读
- python - 如何使用 Django 将视图变量传递给模板
- maven - 两个本地 Maven 项目和 ${project.build.version} 的问题
- sql - 如何查找子表中哪些行至少有一个非空字段(一对多),哪些行只有空字段?
- html - 如何设置浏览器窗口的最小尺寸
- xamarin.forms - MasterDetailPage 右侧有汉堡菜单
- php - 在数组 php / mysql 中排列值
- python - 解码 JSON 时出现 KeyError 问题
- java - 如何在杰克逊序列化上包装异常
- javascript - 在 JavaScript 中单击时关闭下拉导航栏?
- r - 是否有类似于 ifelse 但具有多种后果的 R 函数?