我正在尝试将JSON数组绑定到Silverlight 3中的数据网格。我没有得到任何异常,但我没有在数据网格中看到列值。我确实看到了行,但我不知道绑定属性应该是什么。我不想创建一个类,填充类和绑定。这样可行。我不知道json字符串包含哪些列和数据类型。我希望datagrid只显示json对象中存在的所有列。
以下是代码
Dim J As JsonArray = JsonArray.Load(New StringReader("[{'name':'arun', 'age':26, good:true},{'name':'kumar', 'age':28, good:false}]"))
For Each JJ In J
MessageBox.Show(JJ("name")) 'This shows the proper names'
Next
Dim c = New DataGridTextColumn()
c.Binding = New Binding("name")
GridUsers.Columns.Add(c)
GridUsers.ItemsSource = J
我确实在网格中看到了2行,但列值始终为空。我错过了哪些绑定属性?
非常感谢, 阿伦
答案 0 :(得分:1)
你试过JSON.NET吗?版本3显然特别支持Silverlight 3:
http://james.newtonking.com/archive/2008/08/25/json-net-3-0-released.aspx
答案 1 :(得分:0)
这类似于绑定到动态创建的列的问题。请参阅http://www.scottlogic.co.uk/blog/colin/2009/04/binding-a-silverlight-datagrid-to-dynamic-data-via-idictionary /] 1。秘诀是使整个对象成为绑定源,并使用值转换器和转换器参数来识别各个成员。