具有PriorityBinding的MultiBinding解决方法

时间:2016-08-15 09:07:32

标签: c# wpf xaml binding converter

我目前正在开发一个应用程序,其中边框在"更改状态"中显示对象。使用" 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也会使边框中的对象不可见)

谢谢。

0 个答案:

没有答案