C# 如何使用mvvm light将字符串从视图传递到Xamarin表单中的视图模型
我的视图通过其构造函数接收json字符串,然后我想立即将该字符串传递给它的视图模型。我是Xamarin.forms的新手,有一张便条确定我应该如何做。我想我应该以某种方式使用命令。如果有帮助的话,我正在使用Laurent Bugnon(GalaSoft)的MvvmLightLibs NuGet 下面是一些代码。我使用一个文件选择器获取一个json文件,然后反序列化它并获取文本C# 如何使用mvvm light将字符串从视图传递到Xamarin表单中的视图模型,c#,xamarin,xamarin.forms,mvvm-light,C#,Xamarin,Xamarin.forms,Mvvm Light,我的视图通过其构造函数接收json字符串,然后我想立即将该字符串传递给它的视图模型。我是Xamarin.forms的新手,有一张便条确定我应该如何做。我想我应该以某种方式使用命令。如果有帮助的话,我正在使用Laurent Bugnon(GalaSoft)的MvvmLightLibs NuGet 下面是一些代码。我使用一个文件选择器获取一个json文件,然后反序列化它并获取文本 FileData fileData = await CrossFilePicker.Current.PickFile()
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传递到viewModel1的任何进程,对view2到viewModel2执行相同的操作。从我所读到的内容来看,在使用MVVM时,您希望避免使用消息中心(这可能是错误的),因此我试图找出将简单的值/对象从视图发送到viewModel的正确方法。尝试使用
消息中心
我仍然想知道用例是什么,以及是否有更好的方法,因为我相信可以。给我们看一些代码。我添加了一些代码。从我所读到的内容来看,我觉得在mvvm中应该避免使用消息中心。基本上,我试图找出如何将简单的值/对象从视图发送到视图模型。
public void GoToView2(string jsonString)
{
_navigationService.NavigateTo(ViewModelLocator.view2, jsonString);
}