我正在开发一个类似于 visio 的 WPF 应用程序。我希望能够对图表中的一些项目进行逻辑分组,每个项目都是一个 UIElement,并在组级别控制某些行为(即可见性)。
我的第一次尝试是创建一个控件,称为 Group,它的宽度和高度 = 0。我想通过他们的 group 属性为我的图表元素分配一个特定的“Group”,然后将某些 UIElement 属性绑定到该组值,如下:
<DiagramNode
Width="300" Height="300"
Visibility="{Binding RelativeSource={RelativeSource Self},Path=Group.Visibility}"
> ... </DiagramNode >
尽管这不会引发绑定错误,但它也不起作用。更改组的可见性不会影响分配给该组的节点的可见性。据我所知,任何时候都不会出现错误,它只是不起作用。
有任何想法吗?我的方法可行吗?如果没有,任何人都有他们想建议的替代方案:)。我不是一个庞大的 UI 人,在服务层感觉更舒服,所以我对其他建议持开放态度。