![](/img/trans.png)
[英]How to pass data from Trigger to a view model in Xamarin.Forms?
[英]How to pass a string from a view to its view model in Xamarin forms using mvvm light
我的視圖通過其構造函數接收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時使用消息傳遞中心(這可能是錯誤的),因此我試圖找出從視圖到視圖模型發送簡單值/對象的正確方法是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.