有多重触发,条件之一不为空,所以如果 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。 MultiTrigger 只能由依赖属性触发。
关于c# - WPF。对于多重触发条件, 'Property' 必须具有非空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21084676/