Я хочу, чтобы информация о фильме обновлялась в некоторых текстовых полях в зависимости от выбранного фильма.
У меня есть
public Movie SelectedMovie { get; set; }
в моей модели просмотра, что означает, что мой текст данных установлен в
И всякий раз, когда фильм выбирается в моем списке, он обновляет «SelectedMovie»
Но только первый фильм обновляет текстовый блок
<TextBlock Grid.ColumnSpan="2" Text="{Binding Path=SelectedMovie.Name}" FontSize="17" />
(тот, который выбран при загрузке приложения)
Так что не совсем уверен, почему текст не меняется, когда я выбираю новый фильм в списке?
Класс фильма:
using System;
using System.ComponentModel;
namespace MovieDB3.Models
{
class Movie : INotifyPropertyChanged
{
public Movie(string name)
{
this.name = name;
}
private string name;
public string Name
{
get { return name; }
set
{
name = value;
InvokePropertyChanged("Name");
}
}
public int Id { get; set; }
private double rating;
public double Rating
{
get { return rating; }
set
{
rating = value;
InvokePropertyChanged("Rating");
}
}
public DateTime Release { get; set; }
public TimeSpan Runtime { get; set; }
public String Trailer { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
private void InvokePropertyChanged(String propertyName)
{
PropertyChangedEventArgs e = new PropertyChangedEventArgs(propertyName);
PropertyChangedEventHandler changed = PropertyChanged;
if (changed != null) changed(this, e);
}
}
}