如何获取viewCell中的按钮的ID

时间:2018-09-11 14:00:10

标签: c xamarin xamarin.forms

我在viewCell中有一个按钮,并且我在此Label Text =“ {Binding statusDescr}”中显示了两个已付款和已取消状态,当标签上的状态已付款时,按钮应该出现,而取消时按钮不应出现。我的问题是,我无法获得视单元内的按钮ID来使标签状态支付时可见,而取消时则不可见

processed_at

1 个答案:

答案 0 :(得分:4)

听起来像是将按钮的IsVisible属性绑定到付费状态的好地方:

<Button x:Name="cmdOpen" 
        IsVisible="{Binding paidState}" 
        Text="Open pdf" />

请注意,这仅在paidState属性为bool时才有效。如果您只是使用类似double的值来存储剩余金额,则需要使用converter将值更改为bool。您的XAML:

<ContentPage.Resources>
    <ResourceDictionary>
        <local:DoubleToBoolConverter x:Key="doubleToBool" />
    </ResourceDictionary>
</ContentPage.Resources>

<!--your code --->

<Button x:Name="cmdOpen" 
        IsVisible="{Binding amountRemaining, Converter={StaticResource doubleToBool}}" 
        Text="Open pdf" />

然后是转换器:

public class DoubleToBoolConverter : IValueConverter
{
    public object Convert(
               object value, 
               Type targetType, 
               object parameter, 
               CultureInfo culture)
    {
        return (double)value == 0;
    }

    public object ConvertBack(
               object value, 
               Type targetType, 
               object parameter, 
               CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}