【发布时间】:2012-05-09 07:22:54
【问题描述】:
我有一个带有 Canvas 的 MainWindowView(Window),我在其中添加了我的 Views(UserControls)。
MainWindow 中的 Canvas 是从 Canvas 派生的自定义 Canvas,因此其中的视图可以在这里和那里移动,并且可以带到前台或发送回。
我通过将命令绑定到按钮来将视图添加到 MainWindowView 的画布。因此,当我单击按钮时,会在画布中添加一个视图。
但是,我的问题是,我想从已经在 MainViewModel 画布中的 View 的 ViewModel 中将另一个 View 添加到 MainViewModel 的同一画布中。
由于我用来绑定 Canvas 的 ObservableCollection 在 MainViewModel 中,所以我只能从 MainViewModel 添加 View。
当我尝试使用其他 ViewModel 中的 MainViewModel 时,我必须为其创建一个新对象,这会使 Canvas 中的旧 View 被新 View 替换。
有没有办法解决这个问题。如果不是,那么使用 MVVM 框架有什么用。 请帮忙...
【问题讨论】:
-
你在使用框架吗?你不能在
-
有很多 ChildControl,用户通过点击一个按钮来决定它们,所以我必须动态添加
-
你能添加一些描述吗?我不知道是哪个问题
-
我已更新问题以获得更好的描述。如果您需要更多,请告诉我。
-
你有一个类似于我的问题,你有一个 MianViewModel 和 ViewModel 为每个孩子添加stackoverflow.com/q/10404313/816721 你可以看到我的解决方案,但有一个缺点是不完全 MVVM
标签: c# wpf mvvm view viewmodel