我正在使用一些列表框来显示从 Web 服务获得的数据。另外,我自定义了数据的显示方式。一切正常。我遇到的唯一问题是当我单击任何 ListBoxItem 并且它们没有覆盖列表框的整个高度时,剩余空间将其背景更改为默认颜色,例如:WhiteSmoke 或类似的东西。
我正在使用 ItemDataTemplate 来显示自定义数据,并使用 ItemContainerStyle 来更改列表框在任何状态下的交互方式,例如:按下、选择、取消焦点等。
有谁知道如何改变这个?
问候!
我猜你遇到的情况是你的列表项没有一直延伸到 ListBox,所以你看到了它们下面的高光,你可以用
<ListBox.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
</ListBox.Resources>
如果你想覆盖你的写入的默认listbox
背景:xaml
WPF
<Style TargetType="{x:Type ListBox}" >
<Setter Property="Background" Value="thecoloryouwant" />
</Style>
如果我理解正确,您想设置 ... 的Background
属性,ListBoxItem
您可以这样做:
<ListBox ItemsSource="{Binding SomeCollection}">
<ListBox.ItemContainerStyle>
<Style>
<Setter Property="Control.Background" Value="WhiteSmoke" />
</Style>
</ListBox.ItemContainerStyle>
</ListBox>