Даже если вы не хотите проходить весь маршрут MVVM, все равно рекомендуется отделять доступ к данным от пользовательского интерфейса.
Используйте ObservableCollection <> для хранения результатов поиска, которые будутДрайвер дисплея - он будет автоматически обновлять любые связанные элементы управления при каждом обновлении.
public ObservableCollection<SearchMovie> PopularMovies { get; }
= new public ObservableCollection<SearchMovie>();
private async void Page_Loaded(object sender, RoutedEventArgs e)
{
var popularMovies = await client.GetMoviePopularListAsync("en", 1);
PopularMovies.Clear();
foreach(var movie in popularMovies)
PopularMovies.Add(movie);
}
В вашем окне следует использовать либо ListBox
, если вы хотите, чтобы пользователь мог выбрать определенный элемент фильмав противном случае ItemsControl
.В любом случае установите ItemsSource
в коллекцию PopularMovies.Используйте DataTemplate
для определения макета для каждого элемента фильма - каждый элемент управления связан с соответствующим свойством объекта SearchMovie.
<ItemsContol x:Name="MoviesDisplay">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding OriginalTitle}" />
<TextBlock Text="{Binding ReleaseDate.Value.Year}" />
// Add more controls here as required
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>