
[英]WPF Unexpected behavior binding ObservableCollection to UserControl
[英]Unexpected behavior of AlternativeRow BackColor in WPF
我正在使用Microsoft在本页提供的样式来设置DataGrid
的样式。 我不会更改此样式,只剩下一行,如下所示,它启用了备用的行背景色。
<!--Style and template for the DataGrid.-->
<Style TargetType="{x:Type DataGrid}">
<Setter Property="AlternationCount" Value="2"/>
... and the rest of the style
我意识到这种风格非常奇怪。 当您向上/向下滚动数据网格几次后,您会看到混合的备用行后颜色! 如下面的图片:
我期望在滚动之前是正确的浅色和深色行序列; 但是滚动后,所有内容都是随机混合的。 在应用这种样式之前,我在DataGrid
定义中明确设置了替代行颜色,如下所示,这是我从未经历过的行为。
<DataGrid ItemsSource="{Binding Source={StaticResource itemsSource}}" AutoGenerateColumns="False" AlternatingRowBackground="#FF58C9FD" RowBackground="#00000000"/>
有没有人建议我应该在哪里寻找问题?
加布里埃尔(Gabriel)提到,当您尝试为数据网格(或通常是任何项目集合)创建全新样式时,会出现此问题。
我尝试根据Gabriel的建议基于默认样式创建样式,如下所示:
<Style TargetType="{x:Type DataGrid}" BasedOn="{StaticResource {x:Type DataGrid}}">
<Setter Property="AlternationCount" Value="2"/>
<Setter Property="AlternatingRowBackground" Value="OrangeRed"/>
</Style>
我尝试通过这种样式覆盖所需的所有属性,并且效果很好。 也许MSDN提供的样式中存在一些技巧/调整(它可以在网上找到的大多数样式中重复使用)来解决此问题。 如果有人更新我们,我们仍然感激不尽。
同时,我建议您通过自定义设置覆盖默认样式,并避免使用任何全新样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.