gpt4 book ai didi

WPF ListBox,如何隐藏边框并更改所选项目的背景颜色?

转载 作者:行者123 更新时间:2023-12-02 04:35:05 25 4
gpt4 key购买 nike

我想隐藏ListBox的边框,并使选中项的背景与未选中项的背景相同。

我该怎么做?

最佳答案

要隐藏边框,请使用

<ListBox BorderThickness="0"/>

如果您不想进行选择,请使用 ItemsControl 而不是 ListBox

以下代码隐藏 ListBox 周围的边框,并且始终在项目上显示白色背景(如果它是通过 ItemsSource 属性生成的)。

<ListBox BorderThickness="0" HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="0"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="White">
<ContentPresenter Content="{Binding}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

如果您使用ListViewItem实例,则必须更改那里的背景。

更新

与此同时,我找到了一个在我看来更加优雅的解决方案:

<ListBox BorderThickness="0" HorizontalContentAlignment="Stretch"  >
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
</Style.Resources>
</Style>
</ListBox.Resources>
</ListBox>

这也应该适用于 ListBoxItem 实例,并且在我看来,这不是“解决方法”。

关于WPF ListBox,如何隐藏边框并更改所选项目的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3351904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com