2017-10-17 108 views
-1

所以我有一个绑定到ProductLines的列表视图。基本上它是一个产品列表,当你加载时,它会自动加载来自sqlite数据库的任何缓存项目。你可以添加到它,然后当你保存它将存储到另一台服务器上的数据库。下面我一直在试验函数和颜色等。但我真正想做的是在初始加载时显示产品列表中红色或白色的背景颜色。这是基于它是否未能保存到其他服务器数据库。 另外,当我去保存列表中的所有内容时,它基本上遍历数据源并尝试调用存储过程。如果失败,它会将该行的位设置为true,就像它失败一样。当它重新加载列表时,它将根据位显示红色/白色......或者,如果有另一种方法根据它在该项目中绑定的值的更新背景颜色单元格,那将会很棒。基于值更改listview背景颜色xamarin xaml

 <ListView x:Name="ProductLines" Grid.Row="6" Grid.ColumnSpan="2"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <ViewCell Tapped="Cell_OnAppearing"> 
        <StackLayout BackgroundColor="AliceBlue" 
        Orientation="Vertical"> 
        <StackLayout Orientation="Horizontal"> 
          <Label Text="{Binding ProductLineDisplayName}" 
          TextColor="#f35e20" /> 
        </StackLayout> 
       </StackLayout> 
       </ViewCell> 
       <!--<TextCell Text="{Binding ProductLineDisplayName}" TextColor="DarkGray"/>--> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

回答

0

我不明白这个问题。 TextColor是一个Bindable属性。您可以将它绑定到Color类型的属性,或者绑定到其他类型属性,并使用IValueConverter将类型X的属性转换为Color

也是该记住:

应用开发者可以在XAML无论是作为一个十六进制数或作为一个有效的颜色名称来指定颜色。

当用十六进制数字指定颜色时,应用程序开发人员可以使用3,4或6位数字。如果开发人员指定3位数字,则会将其解释为完全不透明颜色的RGB双精度数据。例如,“#123”指定由“#FF112233”表示的颜色。如果开发人员提供一个4位数的十六进制数字,则数据解释如上,但第一个数字指定了Alpha通道。例如,“#1234”指定由“#11223344”表示的颜色。最后,如果开发人员提供了一个6位数的十六进制数字,那么这些数据被解释为具有这些RGB值的完全不透明的颜色。例如,“#112233”指定由“#FF112233”表示的颜色。

当用字符串指定颜色时,应用程序开发人员可以单独使用颜色名称,也可以用“颜色”作为前缀。例如,Purple和Color.Purple都是指定紫色的有效方法。下表介绍了可用于在XAML中指定颜色的有效颜色名称。