我的视图通过其构造函数接收json字符串,然后我想立即将字符串传递给其视图模型。我对Xamarin.forms非常陌生,请注意我应该如何做。我认为我应该以某种方式使用Commanding。如果有帮助,我正在使用Laurent Bugnion(GalaSoft)的MvvmLightLibs NuGet。
这是一些代码。我正在使用文件选择器获取json文件,然后反序列化并获取文本
FileData fileData = await CrossFilePicker.Current.PickFile();
fileName = fileData.FileName;
if (fileName.EndsWith(".json", StringComparison.CurrentCulture))
{
MockJsonFile mockJsonFile = JsonConvert.DeserializeObject<MockJsonFile>(File.ReadAllText(fileData.FilePath));
string json = JsonConvert.SerializeObject(mockJsonFile, Formatting.Indented);
FilePathlabel.Text = json;
}
这是在我称为view1的代码后面完成的。我正在尝试将此文本发送到view1的视图模型“ viewModel1”。如果可以完成,则可以从viewModel1导航到view2,将字符串按原样传递到view2的构造函数中。
public void GoToView2(string jsonString)
{
_navigationService.NavigateTo(ViewModelLocator.view2, jsonString);
}
从这里开始,我可以使用将字符串从view1传递到viewModel1的任何过程,以将view2传递给viewModel2。从我所读的内容中,您想避免在使用MVVM时使用消息传递中心(这可能是错误的),因此我试图弄清楚从视图向viewModel发送简单值/对象的正确方法是什么。
答案 0 :(得分:0)