У меня есть следующий класс:
public class MyCustomCanvas : Canvas
{
public static readonly DependencyProperty SpritesProperty = DependencyProperty.Register(
"Sprites",
typeof(ObservableCollection<Sprite>),
typeof (MyCustomCanvas),
new FrameworkPropertyMetadata(
null,
FrameworkPropertyMetadataOptions.AffectsRender|FrameworkPropertyMetadataOptions.AffectsParentMeasure));
public ObservableCollection<Sprite> Sprites
{
get { return (ObservableCollection<Sprite>) GetValue(SpritesProperty); }
set { SetValue(SpritesProperty, value); }
}
Класс Sprite реализует INotifyPropertyChanged
. свойство Sprites связано с другой коллекцией.
Я пытаюсь добиться того, чтобы при изменении свойства в спрайте, находящемся в коллекции, ИЛИ всякий раз, когда я добавлял или удалял элементы в коллекции, холст перерисовывался сам.
Я знаю, что мог бы добавить функцию к обработчику событий каждого измененного спрайта, но я хотел знать, есть ли лучший способ сделать это.
Заранее спасибо.