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