我目前正在开发一个应用程序,其中边框在"更改状态"中显示对象。使用" BorderThickness"来控制这些边界的可见性。和优先级绑定(可见性在转换器中设置)。现在有一个请求可以改变状态边界的厚度(在运行时获得)。
我最初的尝试是将转换器更改为多重绑定转换器:
<Border.BorderThickness>
<MultiBinding Converter="{StaticResource StringToBorderThickness}">
<PriorityBinding>
<Binding Path="Change1" />
<Binding Path="Change2" />
</PriorityBinding>
<Binding Path="DataContext.Settings.ChangeStateThickness" RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type UserControl}}" />
</MultiBinding>
</Border.BorderThickness>
这不起作用,因为WPF不同时支持MultiBinding + PriorityBinding(事实证明)。
有人可以推荐一种解决方法吗?我无法删除优先级绑定,但我无法找到控制边框可见性的不同方法(BorderVisibility也会使边框中的对象不可见)
谢谢。