将JSON加载到WPF ListBox中

时间:2018-06-02 23:07:43

标签: c# json wpf

所以这是我第一次搞乱WPF,到目前为止我还喜欢它。我正在以JSON格式保存和加载根名称和子信息,我有类和所有工作。 我希望在程序加载时将JSON昵称项加载到列表框中,从我看到的示例中可以使用绑定和ItemsSources来完成。

这是我的XAML列表框代码

<ListBox x:Name="nameListBox" ItemsSource="{Binding userNickname}" 
                              Margin="0,0,0,111" 
                              Foreground="Black" 
                              Background="#FF747474">                            
</ListBox>

这是我的加载代码

string jsonContent = File.ReadAllText(userModule.jsonSettingsPath);
nameListBox.ItemsSource = jsonContent;

因此它加载项目会加载文件中的每个字母/符号,因为它是自己的项目。我从来没有试过这样做,所以任何帮助或洞察我应该做什么或什么是错的,我看不到会很棒。

这只是一个我试图理解WPF的项目,基本上你将用户信息(昵称,全名,电子邮件,单元格)保存为JSON文件/格式,并在启动时加载。

1 个答案:

答案 0 :(得分:2)

它将每个字母加载到其中的原因是因为它迭代了ItemSource。在你的情况下,它是一个字符串,迭代它并获得每个字符。

你需要的是先解析Json(进入一个对象)。我建议使用Newtonsoft.Json。

var myList = JsonConvert.DeserializeObject<List<string>>(jsonContent);