使用 RestSharp 在 C# 中使用 JSON 数据填充 WPF DataGrid



我会告诉你,我对这一切都比较陌生,但可能很快就会很明显。 我已经研究了两天,但没有任何运气找到我的具体问题的答案,所以这就是我正在尝试做的事情:

在 WPF 应用程序的 MainWindow 代码中,我有这样的类:

public class LocaleInfo
{
public string id { get; set; }
public string category { get; set; }
public bool jobSite { get; set; }
public bool singleJob { get; set; }
public bool useMasterPack { get; set; }
public string maxAllowed { get; set; }
}

我添加了一个列表,以便处理来自格式化为数组的 Web 服务的 JSON 数据。(添加了注释以帮助您理解我的思路,并可能阐明为什么我像我一样构建每条线 - 希望它有所帮助!

public List<LocaleInfo> LocaleList;  

然后,我有以下代码来获取 JSON 数据:

var client = new RestClient("https://webservice info"); // Create Rest Client
var request = new RestRequest(Method.GET);  //Create Rest Request
request.RequestFormat = RestSharp.DataFormat.Json; // Request JSON to ensure accuracy 
request.AddHeader("Authorization", "tokenxxx");  // Add header item Authorization and Token
var response = client.Execute(request);  // Execute the Request
JsonDeserializer deserial = new JsonDeserializer();  // Create JSON Deserializer object
LocaleList = deserial.Deserialize<List<LocaleInfo>>(response);  // Deserialize JSON Receieved from API/WEbservice into List<class>
Int32 totalCount = LocaleList.Count;  // Create variable and get total record count
txtCount.Text = totalCount.ToString();  // Show record count

我相信当我得到正确的计数时,它会填充列表。

在 MainWindow.xaml 上,我放置了一个包含 6 列标题的 DataGrid。 我似乎找不到或弄清楚如何链接或迭代列表以将数据添加到 DataGrid 中。

总有一天我会回顾这篇文章,可能会摇头,但这就是我所处的位置,我真的可以使用一些帮助。

提前非常感谢!

在 MainWindow 的构造函数中添加以下内容:

DataContext = this;

然后使用 ObservableCollection 而不是 List :

Public ObservableCollection<LocalInfo> LocalList{get; set;}

最新更新