Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有多个参数的xamarin命令_C#_Xamarin_Mvvm - Fatal编程技术网

C# 具有多个参数的xamarin命令

C# 具有多个参数的xamarin命令,c#,xamarin,mvvm,C#,Xamarin,Mvvm,我正在用MVVM编写Xamarin,需要一些帮助 我希望将所有条目传递到一个命令中,以便将它们放在模型视图的列表中。但我不知道怎么做?所以我希望所有的条目一起成为一个类“entries”中的参数 还有别的办法吗 XAML 作用 public async Task AddSpace(Entries Entries) { SpacesViewModel.Entrieslist.Add(Entries); await _pageService.PopAsync(); } 在没有看到v

我正在用MVVM编写Xamarin,需要一些帮助

我希望将所有条目传递到一个命令中,以便将它们放在模型视图的列表中。但我不知道怎么做?所以我希望所有的条目一起成为一个类“entries”中的参数

还有别的办法吗

XAML

作用

public async Task AddSpace(Entries Entries)
{
    SpacesViewModel.Entrieslist.Add(Entries);
   await  _pageService.PopAsync();
}

在没有看到viewmodel代码的情况下不确定,但您可能需要将xaml中的按钮更改为:如果EntrieEdit包含作为属性的参数(entry1..5),则更改为Command=“{Binding AddEntriesCommand}”CommandParameter=“{Binding EntriesEdit}”。还要更改函数名,使其引用与新命令语句中相同的名称。您的视图模型应该始终表示视图的当前状态。在我看来,这似乎是在视图中维护状态,然后尝试向后传递?因此,换句话说,MV应始终跟踪输入字段中所做的更改,然后在按下提交按钮时保存这些更改?准确地说。实际上,有很多方法可以完成您想要做的事情,但是这些方法非常复杂,需要编写转换器等来将数据整理成需要传递回视图模型的格式。您的视图模型应该以您的视图可以用最少的精力使用的格式显示数据。当您发现自己试图将数据格式转换逻辑破解到视图中(通过转换器或其他方式)时,这就很好地表明您的视图模型没有正常工作。
AddEntriesCommand = new Command(async vm =>  await AddEntries(vm as Entries));
public async Task AddSpace(Entries Entries)
{
    SpacesViewModel.Entrieslist.Add(Entries);
   await  _pageService.PopAsync();
}