根据值xamarin xaml

时间:2017-10-17 19:34:55

标签: xaml xamarin

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

        <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>

1 个答案:

答案 0 :(得分:0)

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

还要记住:

应用程序开发人员可以将XAML中的颜色指定为十六进制数字或有效颜色名称。

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

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

相关问题