为列表视图UWP XAML中的每个项目放置矩形颜色

时间:2018-03-18 17:33:05

标签: c# listview colors uwp uwp-xaml

我想为每个项目添加不同颜色的矩形,但我知道如何做到这一点。

我的XAML代码

 <ListView x:Name="listView1">
        <ListView.ItemTemplate>
            <DataTemplate x:DataType="x:String">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="47"/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <Rectangle Fill="Red" Width="32" Height="32" 
                   HorizontalAlignment="Left"/>
                    <TextBlock Text="{x:Bind}" Foreground="Black" 
                       FontSize="15" Grid.Column="1"/>
                </Grid>
            </DataTemplate>
        </ListView.ItemTemplate>
        <x:String>White</x:String>
        <x:String>Red</x:String>
        <x:String>Yellow</x:String>
        <x:String>Blue</x:String>
        <x:String>Green</x:String>
        <x:String>Grey</x:String>
        <x:String>Black</x:String>
    </ListView>

This appear

1 个答案:

答案 0 :(得分:0)

您目前有一个DataTemplate引用的颜色始终为Red - 无论您的绑定值如何,Rectangle&#39; s Fill仍为{ {1}}根据您的标记。

要解决此问题,您应将Red替换为<Rectangle Fill="Red" Width="32" Height="32" HorizontalAlignment="Left"/>

<Rectangle Fill="{x:Bind}" Width="32" Height="32" HorizontalAlignment="Left"/>会将您在下方设置的相关{x:Bind}引入<x:String>的{​​{1}}媒体资源中,结果意味着您会看到正确的颜色。