簡體   English   中英

如何使用mvvm light將字符串從視圖傳遞到Xamarin表單中的視圖模型

[英]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時使用消息傳遞中心(這可能是錯誤的),因此我試圖找出從視圖到視圖模型發送簡單值/對象的正確方法是什么。

嘗試使用Messaging Center

這是一個可以幫助您的鏈接,

我仍然想知道用例是什么,是否有更好的方法,因為我敢肯定會存在。 給我們看一些代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM