Понятно почему не работает.List<cars> result
создается как локальная переменная внутри обработчика getcars_DownloadStringCompleted с локальной областью действия для этого обработчика, и, следовательно, ее сборщик мусора сразу же собирается по завершении этого обработчика.Вот почему вы не видите никаких данных.
Чтобы это исправить, создайте на своей странице открытое свойство, например
public ObservableCollection<cars> Results {get;set;}
, и в обработчике getcars_DownloadStringCompleted добавьте свои результаты в эту коллекцию Results.Затем сделайте это в коде:
carslist.ItemsSource = this.Results;
, и оно должно работать.
Также убедитесь, что элементы, десериализованные из службы JSon, действительны, прежде чем добавлять их в коллекцию результатов.Я бы поставил точку останова в отладчике в строке, где вы назначаете элементы в коллекцию результатов, и убедитесь, что там действительно что-то добавлено, просто чтобы быть уверенным.
Реализация INotifyPropertyChanged в классе cars также должна быть выполнена, если вы спроситея.