【发布时间】:2016-09-01 22:22:58
【问题描述】:
我在ListView 中有一个StackLayout,我想根据对象是否具有PerformedDate 值(默认为null)来隐藏它(IsVisible="false")。
现在,我正在尝试在StackLayout 上使用DataTriggers,使用label 的文本作为对象是否具有PerformedDate 的指示符:
<Label x:Name="PerformedDateLabel" Text="{Binding PerformedDate}" IsVisible="True"/>
<StackLayout Padding="0, 25, 0, 0" Spacing="0">
<Label Text="{Binding Date, StringFormat='{0:dd}'}" FontSize="Small" HorizontalOptions="Center"/>
<Label Text="{Binding Date, StringFormat='{0:MMM}'}" HorizontalOptions="Center"/>
<StackLayout.Triggers>
<DataTrigger TargetType="StackLayout" Binding="{Binding Source={x:Reference PerformedDateLabel}, Path=Text}" Value="">
<Setter Property="IsVisible" Value="False"/>
</DataTrigger>
</StackLayout.Triggers>
</StackLayout>
当PerformedDate 存在时,它不会隐藏StackLayout。
有什么想法吗?
我也尝试过 Path=Text.Length Value="0" 方法。
【问题讨论】:
标签: xaml xamarin styles conditional datatrigger