【问题标题】:Must have non-null value for 'Binding''Binding' 必须具有非空值
【发布时间】:2018-09-20 14:41:24
【问题描述】:

我正在尝试使用特殊绑定进行比较发现 here 并在另一个问题上推荐。 NEQ 是一个添加的运算符,它只给出与 EQ 相反的结果。每次都会抛出 InvalidOperationException 并显示消息“‘绑定’必须具有非空值”。

我已经尝试在测试条件下将语句减少到仅{Binding SourceExpanded},甚至会引发相同的异常。

SourceSourceExpandedSourceCollapsed 都是在与此样式关联的类中定义的依赖属性。

问题是您无法绑定到具有空值的依赖项属性吗?如果是这样,为什么属性值不允许为空?

<Style.Triggers>
    <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
            <Condition Property="IsExpanded" Value="True"/>
            <Condition Binding="{local:ComparisonBinding SourceCollapsed, NEQ, {x:Null}}" Value="{x:Null}"/>
        </MultiDataTrigger.Conditions>
        <Setter Property="Source" Value="{Binding SourceExpanded}"/>
    </MultiDataTrigger>
    <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
            <Condition Property="IsExpanded" Value="False"/>
            <Condition Binding="{local:ComparisonBinding SourceCollapsed, NEQ, {x:Null}}" Value="{x:Null}"/>
        </MultiDataTrigger.Conditions>
        <Setter Property="Source" Value="{Binding SourceCollapsed}"/>
    </MultiDataTrigger>
</Style.Triggers>

【问题讨论】:

    标签: wpf xaml


    【解决方案1】:

    我知道有点晚了,你的问题一定已经解决了,如果没有,这里是如何解决的。

    你需要改变 &lt;Condition Property="IsExpanded" Value="True"/&gt;&lt;Condition Binding="{Binding IsExpanded, RelativeSource={RelativeSource Self}}" Value="True" /&gt;

    【讨论】:

    • 我已经在一个简单的 TextBlock 上尝试过您的解决方案,但它不起作用,抛出了同样的异常。
    【解决方案2】:

    基于Ray'sthis 答案:对于MultiDataTrigger Condition 元素,使用显式Binding 而不是Property,如果为null,则使用TargetNullValue 定义默认值。代码如下:

    <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
            <Condition Binding="{Binding IsMouseOver, TargetNullValue=''}" Value="True"/>
        </MultiDataTrigger.Conditions>
        <Setter Property="Foreground" Value="Black" />
    </MultiDataTrigger>
    

    【讨论】:

      猜你喜欢
      • 2013-05-07
      • 2021-03-06
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      相关资源
      最近更新 更多