可湿性工作基金会。对于多触发器条件,'Property'必须具有非空值



具有多触发器,其中一个条件不为空,因此如果 StowedAssetDetailedThumbnailViewModel != null 则设置模板

<Style.Triggers>
    <MultiTrigger>
        <MultiTrigger.Conditions>
            <Condition Property="IsSelected" Value="true" />
            <Condition Binding="{Binding Path=StowedAssetDetailedThumbnailViewModel,
                                         Converter={StaticResource isNull}}"
                       Value="False"/>
        </MultiTrigger.Conditions>
        <Setter Property="Template" Value="{StaticResource SelectedTemplate}" />
    </MultiTrigger>
</Style.Triggers>

使用简单的转换器:

return isNull == null;

错误是属性必须具有非空值

更新:谢谢,最终解决方案是

<Style.Triggers>
    <MultiDataTrigger>
        <MultiDataTrigger.Conditions>
            <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}"
                       Value="true" />
            <Condition Binding="{Binding Path=StowedAssetDetailedThumbnailViewModel,
                                 Converter={StaticResource isNull}}"
                                 Value="false"/>
        </MultiDataTrigger.Conditions>
        <Setter Property="Template" Value="{StaticResource SelectedTemplate}" />
    </MultiDataTrigger>
</Style.Triggers>

在这种情况下,您需要使用 MultiDataTrigger。 多重触发器只能由依赖项属性触发。

最新更新