将对象集合绑定到MVVM中的Canvas

本文关键字:MVVM 中的 Canvas 绑定 对象 集合 | 更新日期: 2023-09-27 18:19:59

我有点想做一个游戏。。。。所以我希望能够动态地将数据对象添加到Canvas中,并将其显示出来

即)1) Car对象,包含汽车信息,当它绑定到Canvas时,我想将其显示为UserControl(包含一些图形)。

2) 当汽车对象显示/添加/移除到画布时,它应该执行一些动画。

因此有3个问题:

  1. 是否可以直接绑定到Canvas来做我描述的事情以上
  2. 我只是在代码后面以编程的方式来做它更好吗
  3. MVVM中是如何做到这一点的?如果我的汽车收藏对象在我的ViewModel中,我唯一能做的就是将其绑定到View?然后,如果我想让汽车在用户按下某个键时做一些动画,我如何使用ViewModel与View交互

一些建议将不胜感激:)

将对象集合绑定到MVVM中的Canvas

要在项目添加到面板时显示动画,可以使用Blend SDK中的Fluid Layout。(一些演示视频;遗憾的是,没有显示那些没有Blend的人生成的代码)

有关绑定到画布的方法,请参阅此问题。

我不建议强制性地这样做。

我假设您希望画布上有多个对象。为此,您需要为ItemsControl创建模板。将面板模板化为画布。这一切都是在XAML的表示层中完成的。然后将ItemsControl的ItemsSource绑定到视图模型中的集合。