我目前正在C#/ WPF中编写一个组件来显示化学结构。它或多或少遵循MVVM原则(这对我来说很新)。 ViewModel中的每个原子和键由视图中的相应Shape表示,并通过数据绑定连接。您可以在下面的操作中看到它:
我关注的是每个Atom都以Canvas中的Point为中心,但整体View无法确切知道它有多大。因此,例如,每个CH3组都可能溢出Canvas,因为当设置其边界时,所有Canvas必须继续进行是原子形状所在的单个Point。现在这不是一个特殊问题,但如果需要大字符串,可能是一个问题,例如(CH3)3SiO或类似字符串。
所以,我想知道的是,是否存在用于将视图中的所有对象捆绑在一起的设计模式/策略/方法,因此可以提取整体属性,例如图的完整水平和垂直范围。然后我将如何将这些属性绑定到我的Canvas?
请注意我是一个MVVM新手,看起来很明显和陈腐的对我来说可能是一个很大的启示!