0

我正在使用一些列表框来显示从 Web 服务获得的数据。另外,我自定义了数据的显示方式。一切正常。我遇到的唯一问题是当我单击任何 ListBoxItem 并且它们没有覆盖列表框的整个高度时,剩余空间将其背景更改为默认颜色,例如:WhiteSmoke 或类似的东西。

我正在使用 ItemDataTemplate 来显示自定义数据,并使用 ItemContainerStyle 来更改列表框在任何状态下的交互方式,例如:按下、选择、取消焦点等。

有谁知道如何改变这个?

问候!

4

3 回答 3

2

我猜你遇到的情况是你的列表项没有一直延伸到 ListBox,所以你看到了它们下面的高光,你可以用

  <ListBox.Resources>
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
      <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />  
   </ListBox.Resources>
于 2013-10-24T14:00:54.760 回答
1

如果你想覆盖你的写入的默认listbox背景:xamlWPF

 <Style TargetType="{x:Type ListBox}" >
            <Setter Property="Background" Value="thecoloryouwant" />
        </Style>
于 2013-10-24T13:56:20.760 回答
1

如果我理解正确,您想设置 ... 的Background属性,ListBoxItem您可以这样做:

<ListBox ItemsSource="{Binding SomeCollection}">
    <ListBox.ItemContainerStyle>
        <Style>
            <Setter Property="Control.Background" Value="WhiteSmoke" />
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
于 2013-10-24T13:56:27.307 回答