【发布时间】:2017-01-05 17:56:14
【问题描述】:
以下代码在将行加载到列表视图时运行仅发生一次。 我的 ListView 项目只有 2 个值 - “x”和“n”。我希望值为“x”的项目(“单元格”)作为背景颜色红色。 以下代码对我有 2 个问题: 1)我不想指定所有列/项目(goodFH,Position等)如果值=“x”,则“单元格”为红色(希望作为伪代码“如果当前单元格值=“x”则红色“) 2) args.ItemContainer.Background 更改整个行背景,而不是我希望的“单元格”!
private void listViewContentChange(ListViewBase sender, ContainerContentChangingEventArgs args)
{
if (((Binding.Car)args.Item).GoodFH == "x")
{
args.ItemContainer.Background = (SolidColorBrush)Application.Current.Resources["Red"];
}
else
{
if (((Binding.Car)args.Item).Position == "x")
{
args.ItemContainer.Background =(SolidColorBrush)Application.Current.Resources["red"];
}
}
}
<DataTemplate x:DataType="data:Car">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<StackPanel Orientation="Horizontal" Margin="20,20,0,0">
<TextBlock FontSize="18" Text="{x:Bind GoodFH}" HorizontalAlignment="Right" Height="20" Width="158"></TextBlock>
<TextBlock FontSize="18" Text="{x:Bind Position }" HorizontalAlignment="Right" Height="20" Width="78"></TextBlock>
<TextBlock FontSize="18" Text="{x:Bind PathFHfs}" HorizontalAlignment="Right" Height="20" Width="78"></TextBlock>
<TextBlock FontSize="18" Text="{x:Bind PathBHFlSp }" HorizontalAlignment="Right" Height="20" Width="78"></TextBlock>
有什么帮助吗?希望这个问题可以理解!
【问题讨论】: