Фон
У меня есть коллекция объектов, которые я хочу нарисовать на холсте. Каждый из этих объектов имеет свойство DateTime, которое определяет положение этого объекта вдоль оси x на холсте. Каждый объект также имеет некоторые другие свойства, которые определяют изображение, которое необходимо нарисовать на холсте. Самая важная функция, которую я хочу реализовать, заключается в том, что с течением времени эти изображения, представляющие объекты, будут перемещаться вдоль оси X. Другими словами, правая вертикальная граница холста всегда будет представлять текущее время (например, DateTime.Now), и объекты в коллекции должны будут обновить свое положение на холсте относительно этой границы. Я очень новичок в Silverlight и, следовательно, у меня довольно много вопросов, включая следующие. Кроме того, у меня также есть требование следовать структуре MVVM.
Вопросы
Что я должен использовать в XAML для достижения вышеуказанного? Я думал об использовании ItemsControl с Canvas в качестве панели, но я не уверен, как это сделать, и даже лучше ли это. Любой фактический код XAML был бы хорош.
Как мне связать коллекцию объектов с холстом? И если так, как я могу перемещать их вдоль оси X с течением времени? То есть я бы хотел, чтобы холст обновлялся всякий раз, когда:
- есть объекты, добавленные в
коллекция; или
- объекты, удаленные из коллекции;
или
- изменение существующего объекта (например, некоторые
свойство изменилось и, следовательно, необходимо
изменить изображение, которое отображается на
холст) в коллекции; или
- , даже если в
Коллекция, как упоминалось выше, эти
объекты должны будут двигаться каждый
второй.
Извините, если я использовал неправильные термины для чего-либо, поскольку я все еще новичок в Silverlight.
Спасибо.