我有一个列表视图如下:
<ListView x:Name="lvLedger"
Height="{Binding Path=GridHight, ElementName=ledgerList}"
Width="{Binding Path=GridWidth, ElementName=ledgerList}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ItemsSource="{Binding}"
BorderThickness="0"
Background="Transparent"
BorderBrush="Transparent"
DataContextChanged="lvLedger_DataContextChanged">
<ListView.View>
<GridView>
<GridViewColumn x:Name="c2ServiceDate" Header="Service Date" Width="82" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=servicedate}"
ToolTipService.ShowDuration="60000"
ToolTipService.InitialShowDelay="0"
ToolTip="{Binding Path=type}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn x:Name="c3CPT" Header="Code" Width="50">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=cpt}"
ToolTipService.ShowDuration="60000"
ToolTipService.InitialShowDelay="0"
ToolTip="{Binding Path=type}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
<!--More columns here--> </GridViewColumn></GridView></ListView.View></ListView>
我希望能够做的是根据服务日期和代码的组合更改行的背景颜色。因此,我可能连续有 3 行具有相同的服务日期和代码,这些行应该具有相同的背景,后跟 2 行具有不同颜色的行,然后根据相同的规则进行交替
11/19 356(蓝色)
11/19 356(蓝色)
11/19/235(红色)
11/2/20 356(蓝色)
11/2/20 356(蓝色)
11/2/20 356(蓝色)
2/21/11 564(红色)
2/21/11 564(红色)
2/21/11 564(红色)
2/21/11 564(红色)
2/25/11 798(蓝色)
等等...
ItemSsource 正在从外部控件绑定到 DataView。
我真的不知道我怎么能做这样的事情,任何帮助将不胜感激。
如何将 ColorProperty 添加到您的行(线)绑定到的类/模型中。然后你已经有日期和数字了。设置它们后,还要设置颜色,现在无需转换器,您只需触发该属性即可:
<Style x:Key="ListViewItemStyle" TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border x:Name="Border" SnapsToDevicePixels="true">
<GridViewRowPresenter VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding ColorProperty}" Value="Blue">
<Setter Property="Background" Value="Blue"/>
</DataTrigger>
<DataTrigger Binding="{Binding ColorProperty}" Value="Red">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)