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