c# - MVVM,Catel和图形UI交互

标签 c# wpf mvvm catel

我正在开发一个图形应用程序,其中用户单击FrameworkElements并将其拖动到Canvas上。它可以在后台代码中工作,但是想用Catel/MVVM更新它。

我的一般问题:在此应用程序中,ViewModel必须“了解” View ,因为它必须知道相对于“LayourRoot”的MousePosition才能更新对象位置,这与MVVM模式相反。更好地处理后面代码中的所有Mouse/FrameworkElement交互以及具有MVVM属性的任何data/FrameworkElement。 (通过data/FrameworkElement,我的意思是在数据存储区中存储某些属性值,例如Canvas.Top,Canvas.Left,Fill等。)

关于一般方法有什么建议吗?

最佳答案

拖放是UI的关注点,因此应驻留在UI中。

MVVM并不意味着“无代码隐藏”。这意味着将业务逻辑与UI关注点分离。

View 应处理拖放操作,而拖放后应更新对象模型中的位置信息。

关于c# - MVVM,Catel和图形UI交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25044781/

相关文章:

c# - MVC 4 和 Google Charts - 如何将折线图的数据从 Controller 传递到 View ?

c# - 处理绑定(bind) MVVM 属性中未捕获的异常

mvvm - Prism/mef ViewModel : pro and con of property against ctor

wpf - 在 CollectionViewSource 上触发过滤器

c# - System.Web.Http 的 NuGet 更新后出现 FileLoadException

c# - 强制将任何任务附加到父级

wpf - 对应用程序级资源使用 DynamicResource 可能会导致泄漏

windows-phone-7 - MvvmCross 和 WP7 辅助磁贴

C# 属性集合

c# - 动态数据矩阵 WPF