我正在尝试使用 XAML 来表示和加载形成业务域语义模型的自定义类型图。
我想做的一件事是能够从树中更深的对象获取对图的“根对象”的引用。除了诉诸野蛮做法(例如将根对象作为单例)之外,我找不到任何直接的方法来做到这一点。
有任何想法吗?
我正在尝试使用 XAML 来表示和加载形成业务域语义模型的自定义类型图。
我想做的一件事是能够从树中更深的对象获取对图的“根对象”的引用。除了诉诸野蛮做法(例如将根对象作为单例)之外,我找不到任何直接的方法来做到这一点。
有任何想法吗?
我不知道这是 XAML 独有的问题。XAML 所做的只是实例化您的“子”对象并将它们添加到“父”对象的集合属性中。所以如果你有类似的东西:
<my:Category Name="Products">
<my:Category.Subcategories>
<my:Category Name="Clothing" />
<my:Category Name="Jewellery" />
</my:Category.Subcategories>
</my:Category>
...那么您最终会得到一个包含两个子类别的“产品”类别。由您来编写“类别”类的代码,以便添加子类别在某处保存对该子类别的“所有者”的引用。我可能会使用自定义集合类型(覆盖 Add 和 Remove 方法,以便它们在要添加的对象上设置“Parent”或“Owner”属性)。