【问题标题】:Xamarin XAML Conditional StylingXamarin XAML 条件样式
【发布时间】: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


    【解决方案1】:

    您可以使用附加属性HasPerformedDate

    C#

    public DateTime? PerformedDate
    {
        get { return _performedDate; }
        set
        {
            _performedDate = value; 
            OnPropertyChanged();
            OnPropertyChanged(nameof(HasPerformedDate));
        }
    }
    
    public bool HasPerformedDate => PerformedDate.HasValue;
    

    Xaml

    <Label x:Name="PerformedDateLabel" Text="{Binding PerformedDate}" IsVisible="True"/>
    <StackLayout Padding="0, 25, 0, 0" Spacing="0" IsVisible="{Binding HasPerformedDate}">
      <Label Text="{Binding PerformedDate, StringFormat='{0:dd}'}" FontSize="Small" HorizontalOptions="Center"/>
      <Label Text="{Binding PerformedDate, StringFormat='{0:MMM}'}" HorizontalOptions="Center"/>
    </StackLayout>
    

    【讨论】:

    • 啊,是的,我也想过这种方式,不知道我的项目要求是否允许我通过添加专门用于查看目的的其他属性来更改对象。如果我最终这样做,我会接受。感谢您的意见:]
    猜你喜欢
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2016-12-12
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多