我对用例diagarm中的MVVM模式有疑问。
到目前为止我所拥有的项目列表是我的形状。
ObservableCollection<ItemsViewModels> Items;
和项目连接集合
ObservableCollection<ConnectionViewModel>
每个ItemViewModel都有一个ID,ConnectionViewModel有两个ID来连接Items。
My ItemsViewModel Collection绑定到一个Itemscontrol,它是Canvas上的布局。
使用ElementMouseDragBehavior,我可以拖动我的项目。 现在来了我的大问题=) 我如何可视化我的连接,我将能够移动物品,并且物品与直线或贝塞尔线保持连接。
我不知道如何使用mvvm模式对其进行抽象。
感谢您的帮助......
答案 0 :(得分:2)
这对您有用吗?:The SpiderWebControl for Silverlight
提供了来源,它列出了以下功能
可能不完全是你所追求的,但它可能会给你一个起点。
约翰
答案 1 :(得分:0)
有很多方法可以实现这一目标。但是,对于Silverlight,布局和绘制连接线几乎没有什么挑战。在WPF中,我会考虑使用adorner图层并以这种方式渲染线条。但是,Silverlight没有直接拥有一个装饰层,但可以模仿它(虽然在我的建议中,我建议采用另一种方法来装饰)。
这是我考虑解决问题和解决问题的一种方法。
答案 2 :(得分:0)
我最近完成了类似的工作,使用这篇文章作为我实现的基础:
http://www.codeproject.com/KB/WPF/BindingToElementPosition.aspx
非常直接,适合我。