展平复杂的对象层次结构,以便我可以在WPF中将数据绑定到它

时间:2018-10-28 17:19:10

标签: c# wpf mvvm data-binding graphics

我在WPF中编写了一个分子显示组件。我使用MVVM体系结构数据绑定将原子和绑定形状绑定到基础分层数据模型。
Insulin Molecule 该模型有时可以由嵌套的分子对象组成,每个对象都包含 Atom Bond 对象。它运作良好,但是我必须弄平分子的层次结构以及 Atoms Bonds 的集合,以将View绑定到它们。在此显示中,您正在看的是三级深层次结构。顶层是一个分子,其中包含两个嵌套的分子,其中每个都包含两个单独的分子 Nested molecule

这很难编程,并影响性能。由于我使用了通用的 ItemsControl ,而只是将 ItemsPanelTemplate 替换为 Canvas ,我想知道是否可以自定义 TreeView ,方法是将其 ItemsPanelTemplate 替换为 Canvas ,然后使用 HierarchicalDataTemplate 放置每个 Atom 画布上的 Bond

因此,我的问题是:这会为每个嵌套级别创建一个单独的 Canvas 吗?我不要。我希望所有对象都放置在相同 画布上,并且让用户不知道嵌套,除非我希望它们成为对象。

0 个答案:

没有答案