在列表视图 UWP 中为每个项目放置矩形颜色 XAML
Put rectangle color for each item in list view 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
您当前有一个引用颜色的数据模板,该颜色始终为 Red
- 无论您的绑定值如何,Rectangle
的 Fill
仍然是 Red
添加到您的标签。
为了解决这个问题,您应该将 <Rectangle Fill="Red" Width="32" Height="32" HorizontalAlignment="Left"/>
替换为 <Rectangle Fill="{x:Bind}" Width="32" Height="32" HorizontalAlignment="Left"/>
。
新的{x:Bind}
将您在下面设置的相关<x:String>
引入到Rectangle
的Fill
属性中,因此意味着您会看到正确的颜色。
我想为每个项目放置不同颜色的矩形,但我知道该怎么做。
我的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
您当前有一个引用颜色的数据模板,该颜色始终为 Red
- 无论您的绑定值如何,Rectangle
的 Fill
仍然是 Red
添加到您的标签。
为了解决这个问题,您应该将 <Rectangle Fill="Red" Width="32" Height="32" HorizontalAlignment="Left"/>
替换为 <Rectangle Fill="{x:Bind}" Width="32" Height="32" HorizontalAlignment="Left"/>
。
新的{x:Bind}
将您在下面设置的相关<x:String>
引入到Rectangle
的Fill
属性中,因此意味着您会看到正确的颜色。