Xamarin.forms 如何将ListView子项的BackgroundColor绑定到值?

Xamarin.forms 如何将ListView子项的BackgroundColor绑定到值?,xamarin.forms,Xamarin.forms,我试图根据some值设置ListView子级的背景 我尝试使用ValueConverter,但它只会在屏幕上重新绘制项目时更新颜色。我与调试程序进行了检查,调用了Convert方法,并返回了正确的值 IValue.Convert实现 return Convert.ToInt32(value) > 0 ? "#E0EBFF" : "#FFFFFF"; XAML文件: <ContentPage.Resources> <converters:Quantity

我试图根据some值设置ListView子级的背景

我尝试使用ValueConverter,但它只会在屏幕上重新绘制项目时更新颜色。我与调试程序进行了检查,调用了Convert方法,并返回了正确的值

IValue.Convert实现

 return Convert.ToInt32(value) > 0 ? "#E0EBFF" : "#FFFFFF";
XAML文件:

<ContentPage.Resources>
        <converters:QuantityToColorConverter x:Key="QuantityToColorConverter"></converters:QuantityToColorConverter>
</ContentPage.Resources>
<ListView > <!-- Options not included for simplicty -->
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <ViewCell.View BackgroundColor="#ecf0f1" >
                                    <Grid Margin="0,0,0,10" BackgroundColor="{Binding Path=Quantity,Converter={StaticResource QuantityToColorConverter}}" RowSpacing="0" ColumnSpacing="0">


背景颜色应该改变,但在子对象滚动过去,然后滚动回

之前,背景颜色保持不变。请尝试此操作

return Convert.ToInt32((value as "Here you put the right type of property").Text)) > 0 ? "" : ""

大小写值不是来自控制器,在转换器中使用(值作为字符串)是什么意思?并且Quantity属性是转换器工作时的一个整数。它返回预期的值,但只有当我滚动经过视图并返回时网格才会改变其颜色?@BogdanConstantin我认为通过C#中的代码进行颜色更改,您将获得正确的行为,可能绑定只读取元素创建或视觉元素更改时的值,为了获得更好的结果,您可以选择C#behind或Element。XAMLIt上的行为不起作用。我试过使用数据触发器。我试图显示数量,但它也没有更新。我已经在模型和viewmodel上实现了InotifyPropertyChange。该列表是一个可观察的集合。我想不出别的了