【发布时间】:2019-08-17 21:25:58
【问题描述】:
我有一个列表视图,所有列表视图项都在右端包含一个开关,如下图所示。
当我选择一个项目时,开关会触发 Toggled 事件。我的代码在下面添加:
Xaml:
<Switch IsToggled="false" Margin="210,2,2,2" Toggled="Switch_Toggled" />
Xaml.cs:
private void Switch_Toggled(object sender, ToggledEventArgs e)
{
// I need the retail_modified_item_id of the selected item, how I can access that
}
private void accept(object sender, EventArgs args)
{
// fetch all selected items and display success
DisplayAlert("Success", "Request Accepted and Updated", "OK");
}
模型类:
namespace XamNative.Models
{
public class Human
{
public string name { get; set; }
public int retail_modified_item_id { get; set; }
public double old_price { get; set; }
public double new_price { get; set; }
}
}
当我点击接受按钮时,我需要所有选定商品[item1,item2] 的retail_modified_item_id?
【问题讨论】:
-
您是否尝试过将
sender转换为Switch,然后访问它的BindingContext。 ListView 自动将BindingContext设置为项目,因此您应该能够像那样访问它。话虽这么说,我更喜欢使用 Commands 和 CommandParameters,但在 ListView 的情况下,您需要做一些工作以使其正确。给你指明方向的东西:stackoverflow.com/a/53671688/10608418 -
{Binding .} 用于绑定 .cs 文件中的元素吗?现在我想要切换项目 id ..
-
是的,它绑定了来自
ItemsSource的项目,因此如果该项目具有 Id 属性,您应该能够访问它。
标签: listview xamarin.forms uiswitch