WPF Binding: реагирует на изменение свойства элемента в связанной коллекции - PullRequest
0 голосов
/ 26 сентября 2010

У меня есть следующий класс:

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 связано с другой коллекцией.

Я пытаюсь добиться того, чтобы при изменении свойства в спрайте, находящемся в коллекции, ИЛИ всякий раз, когда я добавлял или удалял элементы в коллекции, холст перерисовывался сам.

Я знаю, что мог бы добавить функцию к обработчику событий каждого измененного спрайта, но я хотел знать, есть ли лучший способ сделать это.

Заранее спасибо.

1 Ответ

0 голосов
/ 27 сентября 2010

Может быть проще использовать ItemsControl с панелью, на которой установлен Canvas.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...