嵌套ListView中的Xamarin Forms编辑

时间:2019-01-30 18:34:33

标签: c# listview xamarin.forms

我是Xamarin的这些学科的新手,但是能够为我正在为学习目的而向当地的Bodyboarding Association建立个人项目中的大量功能。 但是陷入一个小组中,这让我发疯了。

您可以看到代表该面板目标的附件图像,并且到目前为止,大多数已完成。

目标: 供用户在“条目A”中插入数值,然后单击“按钮A​​”,以便将每个项添加到右侧的“列表视图B”列表中。 ListView A是动态的,但最多包含五个元素,并且所有条目都必须可用,以便快速填充用户。

问题: 我无法使按钮将值添加到该内部ListView中,因为我无法在后面的代码中获得它的ID。 我在MVVM结构中使用Command&CommandParameter。

这样可以使用嵌套ListView吗?

谢谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您的外部列表项目类型是这样的

public class OuterListItem{
 public string EntryAText { get; set; }
 public ObservableCollection<string> InnerListItems { get; set; }
}

在您的ViewModel上,您可能会遇到

ICommand ButtonCommand = new Command<OuterListItem>((oli) => {
  oli.InnerListItems.Add(oli.EntryAText);
  oli.EntryAText = String.Empty;
});

最后在您的XAML上向页面添加x:Name,按钮将如下所示

<Button Command="{Binding ButtonCommand, Source={x:Reference PageName}}" CommandParameter="{Binding .}"></Button>

您需要使用x:Name和Source属性来引用列表项中未实现的命令。

这样,您不需要任何ID。